KR101559424B1 - A virtual keyboard based on hand recognition and implementing method thereof - Google Patents

A virtual keyboard based on hand recognition and implementing method thereof Download PDF

Info

Publication number
KR101559424B1
KR101559424B1 KR1020140136522A KR20140136522A KR101559424B1 KR 101559424 B1 KR101559424 B1 KR 101559424B1 KR 1020140136522 A KR1020140136522 A KR 1020140136522A KR 20140136522 A KR20140136522 A KR 20140136522A KR 101559424 B1 KR101559424 B1 KR 101559424B1
Authority
KR
South Korea
Prior art keywords
hand
finger
keys
assigned
key
Prior art date
Application number
KR1020140136522A
Other languages
Korean (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 KR1020140136522A priority Critical patent/KR101559424B1/en
Application granted granted Critical
Publication of KR101559424B1 publication Critical patent/KR101559424B1/en

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

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)

Abstract

The present invention relates to a virtual keyboard based on hand recognition and an implementation method thereof. The method for implementing a virtual keyboard by using at least one processor includes the steps of: recognizing a user′s hand by using a sensor; combining two or more keys by assigning the key combinations to the respective fingers of the hand recognized in the previous step; presenting one of the key combinations assigned to the respective fingers as a candidate key group based on the slope of the extracted hand against a specific reference; and selecting at least one key in the candidate keys present for the respective fingers as an input value according to a selection gesture using the motion of the user′s fingers.

Description

손 인식에 기반한 가상 키보드 및 그 구현 방법{A virtual keyboard based on hand recognition and implementing method thereof}Technical Field [0001] The present invention relates to a virtual keyboard based on hand recognition,

본 발명은 실제 물리적인 키보드가 아닌 가상으로 구현되는 키보드 기술에 관한 것으로, 특히 감지 센서를 이용하여 사용자의 손을 인식하고 이에 기반하여 사용자의 손 또는 손가락의 움직임에 대응하여 키(key) 입력이 가능한 가상의 키보드를 구현하는 장치, 방법 및 그 방법을 기록한 기록매체에 관한 것이다.In particular, the present invention relates to a keyboard technology that is implemented not in a physical physical keyboard but in particular a keyboard technique using a sensing sensor to recognize a user's hand and input a key corresponding to the movement of a user's hand or finger An apparatus and a method for implementing a virtual keyboard as far as possible, and a recording medium on which the method is recorded.

컴퓨터 혹은 이동 단말 장치를 제어하기 위한 고전적이고 일반적인 방법은 키보드/키패드 또는 마우스와 같은 입력 인터페이스를 이용해 문자 혹은 숫자를 입력하는 것이다. 예를 들면, 이동 통신 단말기에서 키 패드를 사용하여 문자나 전화번호를 입력하고 키보드를 이용하여 여러 가지 응용 프로그램들을 제어하는 것은 현재 우리 생활에 있어서 매우 자연스러운 것이 되었다.A classic and common method for controlling a computer or mobile terminal device is to enter letters or numbers using an input interface such as a keyboard / keypad or a mouse. For example, in a mobile communication terminal, it is very natural for us to enter letters or telephone numbers using a keypad and to control various application programs using a keyboard.

이러한 키보드나 키 패드와 같은 입력장치는 다수의 키로 구성되어 있기 때문에 다른 인터페이스와 비교하여 상대적으로 많은 공간을 차지한다는 불편함을 가진다. 컴퓨터의 경우, 키보드는 여러 가지 명령어를 수행하고 작업을 하는데 있어서 유용한 장치이지만 가장 크기가 큰 입력 장치이기 때문에 불편함을 초래하게 된다. 또한, PDA, 핸드폰 등과 같은 이동 단말 장치의 경우 크기가 점점 작아지는 추세에 있기 때문에 기존의 키 패드 인터페이스는 단말기의 소형화에 적합하지 않다.Since the input device such as a keyboard or a keypad is composed of a plurality of keys, it is inconvenient to occupy a relatively large space as compared with other interfaces. In the case of a computer, a keyboard is a useful device for performing various commands and operations, but it is inconvenient because it is the largest input device. In addition, in the case of a mobile terminal device such as a PDA, a mobile phone, and the like, the size of the mobile terminal device is becoming smaller. Therefore, the existing keypad interface is not suitable for miniaturization of the terminal.

이러한 기존의 불편한 인터페이스의 대안으로 터치 스크린, 가상 키보드, 펜, 휠 등과 같은 새로운 인터페이스들이 제안되었으나 별도의 부가장치가 필요하거나 제한된 환경에만 사용이 가능하다는 단점을 지닌다. 따라서, 사용자 손의 위치 및 움직임을 실시간으로 검출하고 추적하여 사용자의 손에 대응하는 키 입력이 가능하도록 하는 입력 수단의 개발이 요구되었다. New interfaces such as touch screen, virtual keyboard, pen, wheel, etc. have been suggested as an alternative to the conventional inconvenient interface, but they have a disadvantage in that a separate additional device is required or only a limited environment can be used. Therefore, it has been required to develop an input means for detecting and tracking the position and movement of the user's hand in real time so as to enable key input corresponding to the user's hand.

이하에서 인용되는 선행기술문헌에는 이러한 문제 인식에 기초하여 3차원 손 모델 생성 기술을 이용한 가상 입력 장치에 관하여 제안하고 있으나, 여전히 단지 종래의 키패드를 가상화 기술을 이용하여 가져왔을 뿐, 보다 편리한 입력을 도와줄 수 있는 입력 장치와는 거리가 있다.In the prior art cited below, a virtual input device using a three-dimensional hand model generation technique is proposed based on the recognition of such a problem. However, only a conventional keypad has been brought using a virtualization technology, There is a distance from the input device that can help.

한국공개특허 10-2010-0041464, 고려대학교 산학협력단, 2010.04.22 공개Korean Patent No. 10-2010-0041464, Korean University Industry-University Collaboration Foundation, Apr. 22, 2010

본 발명이 해결하고자 하는 기술적 과제는, 종래의 가상 키보드 기술이 입력 인터페이스가 고정되거나 손가락의 움직임에 따라 지속적으로 변화함으로써 인해 입력의 어려움과 시각적인 혼란을 야기하는 불편함을 해소하고, 가상 키보드를 증강현실에 적용하는 경우 키보드의 형태 그대로를 활용함으로써 인해 키보드의 표시로 인해 공간적인 희생이 발생하는 문제를 해결하고자 한다.SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to solve the inconvenience of input difficulty and visual disruption due to the fixed input interface or continuous change according to the movement of a finger, In case of applying to augmented reality, we try to solve the problem of spatial sacrifice due to display of keyboard by utilizing the form of keyboard.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 적어도 하나의 프로세서를 이용하여 가상 키보드를 구현하는 방법은, 감지 센서를 이용하여 사용자의 손을 인식하는 단계; 인식된 상기 손의 손가락별로 각각 적어도 둘 이상의 키(key)를 조합하여 할당하는 단계; 소정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 각각 키의 조합 중 어느 하나를 후보 키로 제시하는 단계; 및 상기 사용자의 손가락의 움직임을 이용한 선택 제스쳐에 따라 상기 손가락별로 제시된 후보 키 중에서 적어도 하나의 키를 입력 값으로 선택하는 단계;를 포함한다.According to an aspect of the present invention, there is provided a method of implementing a virtual keyboard using at least one processor, the method comprising: recognizing a user's hand using a sensing sensor; Assigning at least two keys to each finger of the recognized hand; Presenting, as candidate keys, any one of a combination of keys for each finger based on a slope of a hand extracted in comparison with a predetermined criterion; And selecting at least one key among the candidate keys presented for each finger according to the selection gesture using the movement of the user's finger.

일 실시예에 따른 상기 가상 키보드의 구현 방법에서, 상기 둘 이상의 키를 조합하여 할당하는 단계는, 상기 손의 기울기에 따라 상기 사용자의 손등과 평행한 평면을 기울기별 구간으로 분할하며, 각각의 구간별로 하나의 키를 후보 키로서 할당한다. 한편, 상기 분할된 구간의 수는 상기 손가락별로 할당된 키의 조합 수와 동일할 수 있다.In the method of implementing a virtual keyboard according to an embodiment, the step of assigning the two or more keys in combination includes dividing a plane parallel to the user's hand into slope sections according to the inclination of the hand, One key is allocated as a candidate key. Meanwhile, the number of divided sections may be equal to the number of combinations of the keys allocated for each finger.

일 실시예에 따른 상기 가상 키보드의 구현 방법에서, 상기 키는 쿼티(QWERTY) 키보드의 키 배열에 따라 사용자의 손가락에 각각 할당될 수 있다.In the method of implementing the virtual keyboard according to an embodiment, the keys may be respectively assigned to a user's finger according to a key arrangement of a QWERTY keyboard.

일 실시예에 따른 상기 가상 키보드의 구현 방법에서, 상기 손가락별로 각각 할당되는 키의 조합은 상기 사용자의 손등 또는 손목을 기준으로 가상 키보드가 고정되어 디스플레이 수단을 통해 표시될 수 있다.In the method of implementing a virtual keyboard according to an embodiment, a combination of keys assigned to the respective fingers may be displayed through a display unit by fixing a virtual keyboard with reference to the user's hand or wrist.

일 실시예에 따른 상기 가상 키보드의 구현 방법에서, 상기 소정 기준과 대비한 손의 기울기를 추출하는 과정은, 인식된 상기 손으로부터 손등 영역과 전완(forearm) 영역을 구분하는 손목을 검출하고, 상기 손등 영역과 상기 전완 영역으로부터 각각 손등 축과 전완 축을 설정하며, 검출된 상기 손목과 손등 축 또는 전완 축과의 상호 관계에 기초하여 상기 손의 기울기를 추출함으로써 수행될 수 있다.In the method of implementing a virtual keyboard according to an embodiment of the present invention, the step of extracting a hand inclination with respect to the predetermined reference may include: detecting a wrist for distinguishing a forearm region from a recognized hand region; And setting the forearm axis and the forearm axis respectively from the backlight region and the forearm region and extracting the inclination of the hand based on the correlation between the detected wrist and the forearm axis or forearm axis.

일 실시예에 따른 상기 가상 키보드의 구현 방법은, 손목 회전을 이용한 제스쳐가 감지된 경우, 상기 손가락별로 할당된 문자 조합을 변경하여 새롭게 각각의 손가락에 할당하는 단계;를 더 포함할 수 있다. 또한, 상기 문자 조합은 언어별 문자 세트(character set), 숫자 세트 및 특수 문자 세트 중 적어도 둘 이상을 포함할 수 있다. 나아가, 상기 손목 회전을 이용한 제스쳐를 감지하는 과정은, 인식된 상기 손으로부터 추출된 손등 영역 내에 가상의 원을 형성하되, 상기 원의 형태가 타원에 가까운 정도를 나타내는 계수를 산출하여 임계치와 비교함으로써, 손목 회전 여부를 결정할 수 있다.According to an embodiment of the present invention, when the gesture using the wrist rotation is detected, the method may further include changing a character combination assigned to each finger and assigning a new finger to each finger. In addition, the character combination may include at least two of a language-specific character set, a number set, and a special character set. Further, in the step of detecting the gesture using the wrist rotation, a virtual circle is formed in the hand area extracted from the recognized hand, and a coefficient indicating the degree of the circle shape close to the ellipse is calculated and compared with the threshold value , The wrist rotation can be determined.

상기 기술적 과제를 해결하기 위하여, 본 발명의 다른 실시예에 따른 적어도 하나의 프로세서를 이용하여 가상 키보드를 구현하는 방법은, 감지 센서를 이용하여 사용자의 손을 인식하는 단계; 상기 감지 센서를 이용하여 손등과 평행한 평면에 대한 손의 기울기 및 손가락의 움직임을 이용한 선택 제스쳐를 입력받는 단계; 및 입력된 상기 손의 기울기 및 상기 선택 제스쳐에 기초하여 상기 손의 손가락별로 각각 할당된 적어도 둘 이상의 키 조합 중 어느 하나의 키를 입력 값으로 선택하는 단계;를 포함한다.According to another aspect of the present invention, there is provided a method of implementing a virtual keyboard using at least one processor, comprising: recognizing a user's hand using a sensing sensor; Receiving a selection gesture using a tilt of a hand and a movement of a finger with respect to a plane parallel to the back of the hand using the sensing sensor; And selecting any one of at least two keys assigned to the finger of the hand based on the inputted inclination of the hand and the selection gesture as an input value.

다른 실시예에 따른 상기 가상 키보드의 구현 방법에서, 상기 손의 기울기가 상기 선택 제스쳐에 선행하여 입력된 경우, 상기 어느 하나의 키를 입력 값으로 선택하는 단계는, 인식된 상기 손의 손가락별로 각각 적어도 둘 이상의 키를 조합하여 할당하고, 소정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 각각 키의 조합 중 어느 하나를 후보 키로 제시하며, 상기 사용자의 손가락의 움직임을 이용한 선택 제스쳐에 따라 상기 손가락별로 제시된 후보 키 중에서 적어도 하나의 키를 입력 값으로 선택한다.According to another embodiment of the present invention, when the slope of the hand is inputted in advance of the selection gesture, the step of selecting any one of the keys as the input value may include: The method according to claim 1, wherein the at least one key is a combination of at least two keys, and the at least one of the at least two keys is assigned a combination of the at least two keys. And selects at least one key among the candidate keys presented for each finger as an input value.

다른 실시예에 따른 상기 가상 키보드의 구현 방법에서, 상기 선택 제스쳐가 상기 손의 기울기에 선행하여 입력된 경우, 상기 어느 하나의 키를 입력 값으로 선택하는 단계는, 상기 선택 제스쳐가 입력된 손가락별로 각각 적어도 둘 이상의 키를 조합하여 후보 키로서 할당하고, 소정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 할당된 후보 키 중에서 어느 하나의 키를 입력 값으로 선택한다.According to another embodiment of the present invention, when the selection gesture is input prior to the inclination of the hand, the step of selecting the one of the keys as the input value may include: At least two keys are combined as a candidate key, and one of the candidate keys assigned to each finger is selected as an input value based on a slope of the extracted hand in comparison with a predetermined reference.

나아가, 이하에서는 상기 기재된 가상 키보드의 구현 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.Furthermore, the present invention provides a computer-readable recording medium having recorded thereon a program for causing a computer to implement the above-described virtual keyboard implementation method.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 가상 키보드의 구현 장치는, 사용자의 손과 손가락의 움직임을 인식하는 감지 센서; 가상 키보드를 구현하는 프로그램을 저장하는 메모리; 및 상기 가상 키보드를 구현하는 프로그램을 구동하는 적어도 하나의 프로세서;를 포함하되, 상기 메모리에 저장된 프로그램은, 인식된 상기 손의 손가락별로 각각 적어도 둘 이상의 키를 조합하여 할당하고, 소정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 각각 키의 조합 중 어느 하나를 후보 키로 제시하며, 상기 사용자의 손가락의 움직임을 이용한 선택 제스쳐에 따라 상기 손가락별로 제시된 후보 키 중에서 적어도 하나의 키를 입력 값으로 선택하는 명령어를 포함한다.According to an aspect of the present invention, there is provided an apparatus for implementing a virtual keyboard, comprising: a sensor for recognizing movement of a user's hand and a finger; A memory for storing a program for implementing a virtual keyboard; And at least one processor for operating a program implementing the virtual keyboard, wherein the program stored in the memory is configured to assign a combination of at least two keys to each finger of the recognized hand, The method of any one of the preceding claims, wherein each of the plurality of keys comprises at least one of a plurality of keys, Includes commands to select.

일 실시예에 따른 상기 가상 키보드의 구현 장치에서, 상기 메모리에 저장된 프로그램은, 상기 손의 기울기에 따라 상기 사용자의 손등과 평행한 평면을 기울기별 구간으로 분할하며, 각각의 구간별로 하나의 키를 후보 키로서 할당하는 명령어를 포함한다.In the apparatus for implementing a virtual keyboard according to an embodiment, a program stored in the memory divides a plane parallel to the user's hand into a slope-based interval according to a slope of the hand, As a candidate key.

일 실시예에 따른 상기 가상 키보드의 구현 장치에서, 상기 키는 쿼티(QWERTY) 키보드의 키 배열에 따라 사용자의 손가락에 각각 할당될 수 있다.In an embodiment of the virtual keyboard according to an embodiment, the keys may be respectively assigned to a user's finger according to a key arrangement of a QWERTY keyboard.

일 실시예에 따른 상기 가상 키보드의 구현 장치는, 상기 손가락별로 각각 할당되는 키의 조합을 표시하는 디스플레이부;를 더 포함하되, 상기 손가락별로 각각 할당되는 키의 조합은 상기 손가락의 움직임과 무관하도록 소정 기준 위치에 가상 키보드가 고정되어 상기 디스플레이부를 통해 표시될 수 있다.The virtual keyboard according to an embodiment of the present invention may further include a display unit displaying a combination of keys allocated to the respective fingers, wherein a combination of keys allocated to the respective fingers is independent of movement of the fingers A virtual keyboard is fixed at a predetermined reference position and can be displayed through the display unit.

일 실시예에 따른 상기 가상 키보드의 구현 장치는, 상기 손가락별로 각각 할당되는 키의 조합을 표시하는 디스플레이부;를 더 포함하되, 상기 디스플레이부는 사용자의 실제 손은 투과시킴으로써 사용자로 하여금 시각적으로 인지하도록 유도하면서, 상기 투과된 손 위에 할당된 키의 조합을 오버랩(overlap)시켜 표시하는 시스루(see-through) 디스플레이 수단일 수 있다.The apparatus for implementing a virtual keyboard according to an embodiment may further include a display unit for displaying a combination of keys assigned to the respective fingers, wherein the display unit allows the user to visually recognize Through display means for displaying a combination of keys assigned on the transmitted hand while overlapping the displayed hands.

일 실시예에 따른 상기 가상 키보드의 구현 장치에서, 상기 메모리에 저장된 프로그램은, 상기 감지 센서를 통하여 손목 회전을 이용한 제스쳐가 감지된 경우, 상기 손가락별로 할당된 문자 조합을 변경하여 새롭게 각각의 손가락에 할당하는 명령어를 더 포함할 수 있다. 또한, 상기 문자 조합은 언어별 문자 세트, 숫자 세트 및 특수 문자 세트 중 적어도 둘 이상을 포함할 수 있다.In the apparatus for implementing a virtual keyboard according to an embodiment of the present invention, when a gesture using a wrist rotation is detected through the detection sensor, a program stored in the memory changes a character combination assigned to each finger, And may further include an instruction to assign. In addition, the character combination may include at least two of a language-specific character set, a number set, and a special character set.

본 발명의 실시예들은, 비고정/적응적 형태의 가상 키보드를 제공하면서 이와 동시에 움직임이 적은 영역에 가상 키보드를 고정함으로써 보다 용이한 키 입력이 가능하고, 사용자의 손목의 기울기를 이용하여 복수의 키 조합을 각각 하나의 손가락에 매핑하는 일대다 관계를 구현함으로써 키보드의 표시에 따른 공간의 희생을 최소화하였으며, 손목의 회전을 이용하여 손가락에 할당된 문자 세트를 변경함으로써 보다 많은 문자 세트를 활용하거나 입력할 수 있다.Embodiments of the present invention provide a virtual keyboard in a non-fixed / adaptive form while at the same time fixing the virtual keyboard to a less active area, allowing for easier key entry, and using a tilt of the user's wrist, By implementing a one-to-many relationship that maps key combinations to one finger each, minimizing the sacrifice of space on the keyboard display, and utilizing the rotation of the wrist to change the character set assigned to the finger, Can be input.

도 1은 본 발명의 실시예들이 채택하고 있는 손 인식에 기반한 가상 키보드의 구현 원리를 설명하기 위한 도면이다.
도 2a 내지 도 2c는 도 1의 구현 원리에 기초하여 손의 기울기에 따라 각각의 손가락에 할당되는 후보 키를 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 손 인식에 기반한 가상 키보드의 구현 방법을 도시한 흐름도이다.
도 4는 본 발명의 실시예들에 따른 가상 키보드의 구현 방법에서 손의 기울기를 추출하는 기술을 예시한 도면이다.
도 5는 본 발명의 실시예들에 따른 가상 키보드의 구현 방법에서 원 모델을 이용하여 손등 축과 전완(forearm) 축을 추출하는 기술을 예시한 도면이다.
도 6은 본 발명의 실시예들에 따른 가상 키보드의 구현 방법에서 손목의 회전을 이용하여 손가락에 할당된 문자 조합을 변경하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 실시예들에 따른 가상 키보드의 구현 방법에서 원 모델을 이용하여 손등 영역과 손가락 영역을 분리하는 기술을 설명하기 위한 도면이다.
도 8은 본 발명의 실시예들에 따른 가상 키보드의 구현 방법에서 원 모델을 이용하여 손목의 회전을 감지하는 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 다른 실시예에 따른 손 인식에 기반한 가상 키보드의 구현 방법을 도시한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 손 인식에 기반한 가상 키보드의 구현 장치를 도시한 블럭도이다.
1 is a diagram for explaining the principle of implementation of a virtual keyboard based on hand recognition adopted by embodiments of the present invention.
Figs. 2A to 2C are diagrams illustrating a candidate key assigned to each finger according to the inclination of the hand based on the implementation principle of Fig.
3 is a flowchart illustrating a method for implementing a virtual keyboard based on hand recognition according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating a technique for extracting a hand slope in a method of implementing a virtual keyboard according to embodiments of the present invention.
5 is a diagram illustrating a technique for extracting a back and forth forearm axis using a circular model in a method of implementing a virtual keyboard according to embodiments of the present invention.
FIG. 6 is a diagram for explaining a method of changing a character combination assigned to a finger using the rotation of the wrist in the method of implementing a virtual keyboard according to the embodiments of the present invention.
FIG. 7 is a diagram for explaining a technique for separating a hand region and a finger region using a circular model in a method of implementing a virtual keyboard according to embodiments of the present invention.
FIG. 8 is a diagram for explaining a method of detecting the rotation of the wrist using the original model in the method of implementing a virtual keyboard according to the embodiments of the present invention.
FIG. 9 is a flowchart illustrating a method of implementing a virtual keyboard based on hand recognition according to another embodiment of the present invention.
10 is a block diagram illustrating an apparatus for implementing a virtual keyboard based on hand recognition according to an embodiment of the present invention.

본 발명의 실시예들을 설명하기에 앞서, 가상 키보드 기술을 증강현실(Augmented Reality) 분야에 활용하는 경우의 특성과 문제점을 검토한 후, 이러한 문제점을 해결하기 위해 본 발명의 실시예들이 채택하고 있는 기술적 수단을 개괄적으로 소개하도록 한다.Prior to describing the embodiments of the present invention, after studying the characteristics and problems in using the virtual keyboard technology in the Augmented Reality field, in order to solve such problems, the embodiments of the present invention Provide an overview of the technical means.

스마트 안경(smart glass)을 위한 가상 키보드의 인터페이스 방식으로써 크게 두 가지 방법이 제시될 수 있는데, 실제 키보드 인터페이스를 차용한 고정형 가상 키보드 방식과 손에 특화된 비고정형/적응형 가상 키보드 방식이 구현 가능하다.As a virtual keyboard interface method for smart glasses, two methods can be suggested. One is a fixed virtual keyboard method using a real keyboard interface, and the other is a non-fixed type / adaptive virtual keyboard type which is specialized in a hand .

첫째, 실제 키보드의 고정된 3차원 인터페이스를 2차원 스크린에 증강시키는 경우, 화면 내의 가상 키보드와 손가락 위치에 대한 시각적 집중을 요구하며, 특정 버튼에 해당하는 손가락에 대한 인터랙션(interaction)을 분간하는 것이 어렵다는 단점이 있다. 예를 들어, 손가락이 누르는 제스쳐를 취할 때 손가락 끝이 해당 버튼 영역을 벗어나 다른 버튼 영역에 들어가는 경우에 손가락의 움직임에 대한 인식과 처리가 불분명해진다.First, when a fixed three-dimensional interface of a real keyboard is augmented on a two-dimensional screen, it is necessary to visually concentrate a virtual keyboard and a finger position in the screen, and to discriminate an interaction with a finger corresponding to a specific button There is a drawback that it is difficult. For example, when a finger touches a button area and enters a different button area when a finger presses a gesture, the recognition and processing of the finger movement becomes unclear.

둘째, 손에 특화된 비고정형/적응형 가상 키보드 방식은 고정형 가상 인터페이스를 개선하기 위해 손을 인식하여 손가락에 버튼을 증강하는 비고정형/적응형 인터페이스를 사용한다. 하지만 비고정형/적응형 인터페이스는 가상 버튼이 손가락의 움직임에 따라 증강되는 위치가 지속적으로 바뀌기 때문에 사용자에게 시각적인 혼란을 줄 수 있으며 안정적인 인터페이스를 제공할 수 없다는 문제점이 있다.Second, the hand - specific non - fixed / adaptive virtual keyboard method uses a non - fixed / adaptive interface to recognize the hand and enhance the button on the finger to improve the fixed virtual interface. However, the non-fixed type / adaptive type interface has a problem that the position where the virtual button is augmented according to the movement of the finger is continuously changed, which can give visual confusion to the user and can not provide a stable interface.

나아가, 이상의 두 가지 방법 모두 키보드의 형태 그대로가 가상 키보드를 구현하는데 활용하므로, 필연적으로 스크린 내에서 가상 키보드가 차지하는 영역이 넓을 수밖에 없다. 이러한 특성은 상대적으로 디스플레이 영역이 작은 모바일 기기 내지 헤드업 디스플레이(Head-Up display, HUD) 장치에서 두드러지는 단점으로 지적될 수 있다.Furthermore, since both of the above methods are used to implement a virtual keyboard in the form of a keyboard, it is inevitable that a virtual keyboard occupies a large area in the screen. This characteristic can be pointed out as a disadvantage that it is prominent in a mobile device or a head-up display (HUD) device having a relatively small display area.

이를 해결하기 위해, 본 발명의 실시예들은, 감지 센서(예를 들어, 3차원 깊이 센서가 될 수 있다.)를 이용하여 3차원 손 모델에 기반한 사용자 손 인식을 수행하고, 움직임이 적은 특정 영역(예를 들어, 손가락과는 달리 타자에 따라 움직임이 거의 없는 손등이 될 수 있다.)을 기준으로 3차원 가상 키보드를 증강하며, 3차원의 손의 기울기/각도 변화, 손가락 움직임 또는 손목의 회전을 이용하여 키 조작을 실행하는 문자 입력 장치를 제안한다.To solve this, embodiments of the present invention perform user hand recognition based on a three-dimensional hand model using a sensing sensor (e.g., can be a three-dimensional depth sensor) (For example, it may be a hand with little movement depending on the batter, unlike a finger), and the three-dimensional virtual keyboard is augmented, and the three-dimensional hand inclination / angle change, finger movement, And a key input unit for inputting the key input.

특히, 본 발명의 실시예들은 고정 영역(예를 들어, 손등)을 기준으로 키보드가 고정되어 시각화되고, 입력 가능한 가상 키의 조합은 각 손가락 별로 나누어져 증강되며, 손목의 기울기를 이용하여 조합 내의 한 글자를 선택할 수 있다. 이를 위해 선택하고자 하는 글자의 키를 해당 손가락의 '클릭(click)' 제스쳐로 입력할 수 있다. 한편, 시각화된 증강현실 키보드의 글자 조합은 현재 대다수의 사용자들이 사용하고 있는 키보드 내지 키패드의 사용 경험으로부터 착안될 수 있다. 예를 들어, 양손 타자를 위해 쿼티(QWERTY) 키보드나 통상적인 두벌식 키보드 이외에 세벌식 키보드가 활용될 수도 있고, 한손 타자를 위해 휴대용 단말기의 키패드가 활용될 수도 있을 것이다. 나아가, 이러한 증강현실 키보드의 글자 조합은 손목의 회전을 이용하여 변경/선택할 수도 있다.In particular, in embodiments of the present invention, a keyboard is fixed and visualized based on a fixed area (e.g., a hand), a combination of virtual keys that can be input is augmented by dividing each finger, You can select a letter. For this purpose, the key of the character to be selected can be inputted as a 'click' gesture of the corresponding finger. On the other hand, the character combination of the visualized augmented reality keyboard can be focused on the experience of using the keyboard or keypad currently used by the majority of users. For example, a two-handed keyboard may be used in addition to a QWERTY keyboard or a conventional double-edged keyboard for a two-handed hitter, or a keypad of a portable terminal may be used for a one-handed hitter. Furthermore, the character combination of the augmented reality keyboard can be changed / selected by using the rotation of the wrist.

이하에서는, 도면을 참조하여 상기된 기술적 과제를 해결하기 위한 본 발명의 실시예들을 구체적으로 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 명칭 및 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, embodiments of the present invention for solving the above-mentioned technical problems will be described in detail with reference to the drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It is to be noted that the same components are denoted by the same names and reference numerals as possible throughout the drawings.

도 1은 본 발명의 실시예들이 채택하고 있는 손 인식에 기반한 가상 키보드의 구현 원리를 설명하기 위한 도면으로서, 설명의 편의를 위해 양손 타자를 위한 쿼티 키보드를 가정하였다.FIG. 1 is a diagram for explaining a principle of implementation of a virtual keyboard based on hand recognition adopted by embodiments of the present invention. For convenience of explanation, a QWERTY keyboard for a two-handed hitter is assumed.

도 1을 참조하면, 본 발명의 실시예들은 가상 키보드 인터페이스로써 손 인식 기술을 사용하여 손등을 중심으로 고정된 키보드 인터페이스를 제공하는 고정형/적응형 인터페이스를 제안하고 있다. 이러한 가상 키보드 인터페이스는 손등에서 각 손가락의 시작 관절 위치를 기반으로 5개의 입력 영역(왼손의 L1, L2, L3, L4, L5 영역 및 오른손의 R1, R2, R3, R4, R5 영역)으로 분할되어 시각화될 수 있고, 각 영역은 해당 영역에 할당된 입력 가능한 문자 집합을 시각화할 수 있다. 인터랙션 방법으로서, 일대다(1:N, N은 양의 정수) 관계의 손가락-버튼 관계를 해결하기 위해 손의 각도/기울기를 조절하여 입력 가능한 버튼 조합을 선택하고 손가락을 누르는 제스쳐로 해당 영역에 할당된 문자를 입력하는 방식을 제안한다. 이와 더불어, 손의 3차원 회전 운동 중 전후축, 수평축 회전 운동을 이용하여 입력 모드를 변경하거나 편집하는 등의 키보드의 부가적 역할을 수행할 수도 있다.Referring to FIG. 1, embodiments of the present invention propose a fixed / adaptive interface that provides a keyboard interface fixed around the back of a hand using a hand recognition technology as a virtual keyboard interface. This virtual keyboard interface is divided into five input areas (L1, L2, L3, L4, and L5 areas of the left hand and R1, R2, R3, R4, and R5 areas of the right hand) based on the starting joint position of each finger Can be visualized, and each area can visualize the set of input characters assigned to that area. In order to solve the finger-button relation of one-to-many (1: N, N is a positive integer) relationship, as an interaction method, a combination of inputable buttons is selected by adjusting the angle / tilt of the hand, We propose a method of inputting assigned characters. In addition, the keyboard may play an additional role, such as changing or editing the input mode using the front-to-rear axis and the horizontal axis rotation motion during the three-dimensional rotational movement of the hand.

앞서 가정한 쿼티 키보드의 일반적인 용례에 따라, 도 1에서 L5 영역에는 왼손 소지에 대응하는 문자 키의 조합 "1qaz"가 할당되었고, L4 영역에는 왼손 약지에 대응하는 문자 키의 조합 "2wsx"가 할당되었고, L3 영역에는 왼손 중지에 대응하는 문자 키의 조합 "3edc"가 할당되었고, L2 영역에는 왼손 검지에 대응하는 문자 키의 조합 "4rfv"가 할당되었으며, L1 영역에는 왼손 엄지에 대응하는 문자 키의 조합 "5tgb"가 할당되었다. 또한, R1 영역에는 왼손 엄지에 대응하는 문자 키의 조합 "6yhn"가 할당되었고, R2 영역에는 왼손 검지에 대응하는 문자 키의 조합 "7ujm"가 할당되었고, R3 영역에는 왼손 중지에 대응하는 문자 키의 조합 "8ik,"가 할당되었고, R4 영역에는 왼손 약지에 대응하는 문자 키의 조합 "9ol."가 할당되었으며, R5 영역에는 왼손 소지에 대응하는 문자 키의 조합 "0p;/"가 할당되었다.1, a combination of letter keys corresponding to the left hand is assigned in the L5 area and a combination of letter keys "2wsx" in the L4 area corresponding to the left finger ring is assigned , A combination of character keys "3edc" corresponding to the left-hand stop is assigned to the L3 area, a combination "4rfv" of the character keys corresponding to the left-hand detection is assigned to the L2 area, "5tgb" A combination of character keys "6yhn" corresponding to the left hand thumb is assigned to the R1 area, a combination key "7ujm" corresponding to the left hand is assigned to the R2 area, Quot ;, and a combination of character keys "9ol." Corresponding to the left hand fingerprint is assigned to the R4 area and a combination of character keys "0p /" .

도 1에 예시된 바와 같이, 본 발명의 실시예들이 채택하고 있는 인터랙션 기법은 키 버튼(key button) 입력, 키 버튼 선택, 키보드 조합 선택을 각각 서로에게 영향을 받지 않는 독립된 인터랙션을 사용함으로써, 사용자의 오입력 확률을 낮추고 주의를 요하지 않더라도 일단 익숙해지면 손쉬운 입력이 가능한 인터랙션 방법을 제공한다. 이를 구현하기 위하여 손등의 3차원 회전 인식 기술이 필요하며, 특히 손가락의 움직임에 영향을 받지 않는 인식률 구현이 요구된다. 따라서 본 발명을 지지하는 주요 구성은 손가락에 무관한 3차원 손목 기울기 및 손등 회전 인식 기술을 포함한다.As illustrated in FIG. 1, the interaction technique adopted by the embodiments of the present invention uses a key button input, a key button selection, and a keyboard combination selection as independent interactions, , And provides an interaction method that can be easily input if one gets used without paying attention. In order to realize this, 3D rotation recognition technology of the back of the hand is required, and especially, a recognition rate which is not affected by the movement of the finger is required. Therefore, the main supporting structure of the present invention includes a finger-free three-dimensional wrist tilt and handwheel rotation recognition technique.

도 2a 내지 도 2c는 도 1의 구현 원리에 기초하여 손의 기울기에 따라 각각의 손가락에 할당되는 후보 키를 예시한 도면으로서, 여기서는 설명의 편의를 위해 쿼티 키보드의 영문자만이 각각의 손가락에 할당되었다고 가정하자. 즉, 영문자에 해당하는 키보드는 총 3행(line)이므로 각각의 조합 내의 하나의 문자를 선택하기 위해서는 3가지 선택이 가능하도록 3개의 기울기 구분이 필요하다. 따라서, 사용자의 손목을 중심으로 마치 부채꼴 모양으로 가상의 3개 영역이 형성된다고 할 때, 손의 좌우 기울기에 따라 키 조합 내의 하나의 문자 선택이 가능하다.2A to 2C are diagrams for explaining a candidate key assigned to each finger according to the inclination of the hand based on the implementation principle of FIG. 1. For convenience of explanation, only the English characters of the QWERTY keyboard are assigned to respective fingers . That is, since the keyboard corresponding to the alphabetic character is a total of 3 lines, three slope distinctions are required to select three characters in each combination. Therefore, when three virtual areas are formed in a fan shape around the user's wrist, one character can be selected in the key combination according to the left-right inclination of the hand.

도 2a를 참조하면, 사용자의 왼손을 기준으로 손등과 평행한 평면에 대해 손목이 왼쪽으로 기울어진 경우를 예시한 것으로서, 쿼티 키보드의 영문자 행 중, 첫 번째 행이 각각의 손가락에 할당될 수 있다. 즉, 왼손 소지에서부터 엄지까지 순서대로 'q', 'w', 'e', 'r', 't'의 문자가 후보 키로서 제시 가능하다. 이렇게 후보 키가 선택된 후, 사용자는 제시된 후보 키 중에서 적어도 어느 하나의 키를 선택하는 제스쳐를 취함으로써 해당 키를 입력 값으로 선택할 수 있다.Referring to FIG. 2A, the wrist is inclined to the left with respect to a plane parallel to the back of the user with respect to the left hand of the user. The first row of the alphabetical letters of the QWERTY keyboard may be assigned to each finger . That is, the characters 'q', 'w', 'e', 'r', and 't' can be presented as candidate keys in order from left hand to thumb. After the candidate key is selected in this way, the user can select the key as an input value by taking a gesture for selecting at least one of the presented candidate keys.

도 2b를 참조하면, 사용자의 왼손을 기준으로 손등과 평행한 평면에 대해 손목이 좌우 어느 쪽으로도 치우치지 않은 경우를 예시한 것으로서, 쿼티 키보드의 영문자 행 중, 두 번째 행이 각각의 손가락에 할당될 수 있다. 즉, 왼손 소지에서부터 엄지까지 순서대로 'a', 's', 'd', 'f', 'g'의 문자가 후보 키로서 제시 가능하다. 이렇게 후보 키가 선택된 후, 사용자는 제시된 후보 키 중에서 적어도 어느 하나의 키를 선택하는 제스쳐를 취함으로써 해당 키를 입력 값으로 선택할 수 있다.Referring to FIG. 2B, there is illustrated a case where the wrist is not shifted to the left or the right with respect to the plane parallel to the back of the user with respect to the left hand of the user, and the second row of the alphabetical letters of the QWERTY keyboard is assigned to each finger . That is, the characters 'a', 's', 'd', 'f', and 'g' can be presented as candidate keys in the order from left hand to thumb. After the candidate key is selected in this way, the user can select the key as an input value by taking a gesture for selecting at least one of the presented candidate keys.

도 2c를 참조하면, 사용자의 왼손을 기준으로 손등과 평행한 평면에 대해 손목이 오른쪽으로 기울어진 경우를 예시한 것으로서, 쿼티 키보드의 영문자 행 중, 세 번째 행이 각각의 손가락에 할당될 수 있다. 즉, 왼손 소지에서부터 엄지까지 순서대로 'z', 'x', 'c', 'v', 'b'의 문자가 후보 키로서 제시 가능하다. 이렇게 후보 키가 선택된 후, 사용자는 제시된 후보 키 중에서 적어도 어느 하나의 키를 선택하는 제스쳐를 취함으로써 해당 키를 입력 값으로 선택할 수 있다.Referring to FIG. 2C, a wrist is inclined to the right with respect to a plane parallel to the back of the user with respect to the left hand of the user, and a third row among the alphabetical rows of the QWERTY keyboard may be assigned to each finger . That is, the letters 'z', 'x', 'c', 'v', and 'b' can be presented as candidate keys in the order from left hand to thumb. After the candidate key is selected in this way, the user can select the key as an input value by taking a gesture for selecting at least one of the presented candidate keys.

도 3은 본 발명의 일 실시예에 따른 손 인식에 기반한 가상 키보드의 구현 방법을 도시한 흐름도로서, 적어도 하나의 프로세서를 이용하여 구동되는 컴퓨터 프로그램의 형태로 구현되어 가상 키보드 장치에 구비될 수 있다.FIG. 3 is a flowchart illustrating a method of implementing a virtual keyboard based on hand recognition according to an embodiment of the present invention, and may be implemented in a form of a computer program driven using at least one processor to be provided in a virtual keyboard device .

S310 단계에서, 적어도 하나의 프로세서를 구비하는 가상 키보드 장치는, 감지 센서를 이용하여 사용자의 손을 인식한다. 이러한 감지 센서는 깊이 센서나 3차원 카메라 등 다양한 형태/모션 인식 수단이 활용될 수 있으며, 키넥트(Kinect) 센서 또는 립 모션(Leap Motion)과 같은 제품도 채택 가능하다.In step S310, the virtual keyboard device having at least one processor recognizes the user's hand using the detection sensor. Such a sensing sensor may be a variety of shape / motion recognition means such as a depth sensor or a three-dimensional camera, and a product such as a Kinect sensor or a Leap Motion may be adopted.

S320 단계에서, 상기 가상 키보드 장치는 상기 S310 단계를 통해 인식된 상기 손의 손가락별로 각각 적어도 둘 이상의 키(key)를 조합하여 할당한다. 특히 S320 단계에서, 상기 손의 기울기에 따라 상기 사용자의 손등과 평행한 평면을 기울기별 구간으로 분할하며, 각각의 구간별로 하나의 키를 후보 키로서 할당할 수 있다. 이 경우, 상기 분할된 구간의 수는 상기 손가락별로 할당된 키의 조합 수와 동일한 것이 일반적일 것이다. In step S320, the virtual keyboard apparatus combines and assigns at least two keys to each finger of the hand recognized in step S310. In particular, in step S320, a plane parallel to the user ' s hand is divided into slope sections according to the slope of the hand, and one key may be assigned as a candidate key for each section. In this case, the number of divided intervals may be generally the same as the number of combinations of the keys allocated for each finger.

앞서 도 1을 통해 설명한 바와 같이, 본 발명의 실시예들이 제안하는 키 매핑(mapping)의 핵심은 하나의 손가락에 적어도 둘 이상의 키가 할당되는 일대다의 관계이다.As described above with reference to FIG. 1, the key of the key mapping proposed by the embodiments of the present invention is a one-to-many relationship in which at least two keys are assigned to one finger.

또한, 상기 키는 양손 타자를 위해서 쿼티(QWERTY) 키보드의 키 배열에 따라 사용자의 손가락에 각각 할당될 수 있으며, 한손 타자의 경우에는 퀴티 키보드의 일부 또는 키패드 등이 할당될 수도 있을 것이다.In addition, the keys may be assigned to the user's fingers according to the key arrangement of the QWERTY keyboard for the two-handed hitter, and a portion of the equity keyboard or a keypad may be assigned for the one-handed hitter.

한편, 상기 손가락별로 각각 할당되는 키의 조합은 상기 사용자의 손등 또는 손목을 기준으로 가상 키보드가 고정되어 디스플레이 수단을 통해 표시되는 것이 바람직하다. 앞서 지적한 바와 같이, 손가락의 위치에 따라 키를 증강시키는 경우, 타자시 사용자의 손가락의 위치가 매우 빠르게 변경되므로 증강된 키의 영상 역시 이에 따라 움직이므로 사용자로 하여금 시각적 혼란을 야기할 수 있다. 따라서, 본 발명의 실시예들에서는 이러한 불편을 없애고자, 가상 키보드가 손가락의 움직임에 상대적으로 적은 영향을 받는 신체 부위, 즉 손등 또는 손목을 기준으로 증강되어 표시하는 방법을 제안한다.Preferably, the combination of the keys allocated to the respective fingers is displayed through the display unit by fixing the virtual keyboard with reference to the user's hand or wrist. As mentioned above, when the key is strengthened according to the position of the finger, since the position of the user's finger changes rapidly, the image of the enhanced key moves accordingly, thereby causing visual confusion to the user. Therefore, in the embodiments of the present invention, a virtual keyboard is augmented and displayed on the basis of a body part, i.e., a back or a wrist, which is relatively less influenced by movement of a finger, in order to eliminate such inconvenience.

S330 단계에서, 상기 가상 키보드 장치는 일정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 각각 키의 조합 중 어느 하나를 후보 키로 제시한다. 여기서, 일정 기준이란 손의 기울기와 대비할 수 있는 기준이 되는 것으로서, 손의 기울기에 따라 구간 별로 가상의 영역을 나누게 되며, 사용자의 손이 이렇게 구분된 기울기 영역 중에서 어느 특정 영역 내에 포함되는지를 판단하게 된다. 즉, 이러한 기울기 판단은 S320 단계를 통해 할당된 일대다의 키 조합 중 어느 하나를 선택하기 위해 필요하다. 이때, 일정 기준을 설정하는 구체적인 방법은 이후 도 4 내지 도 5를 통해 설명하도록 한다.In step S330, the virtual keyboard device presents any one of the key combinations for each finger as a candidate key based on the inclination of the hand extracted in comparison with the predetermined reference. Herein, the predetermined reference is a reference to be able to compare with the inclination of the hand, and the virtual area is divided according to the inclination of the hand according to the inclination of the hand, and it is determined whether the user's hand is included in the specific area among the divided inclination areas do. That is, the slope determination is necessary to select any one of the one-to-many key combinations assigned through step S320. A specific method of setting a certain criterion will be described later with reference to FIGS. 4 to 5. FIG.

S340 단계에서, 상기 가상 키보드 장치는 상기 사용자의 손가락의 움직임을 이용한 선택 제스쳐에 따라 상기 손가락별로 제시된 후보 키 중에서 적어도 하나의 키를 입력 값으로 선택한다. 앞서 도 2를 통해 예시한 바와 같이, 사용자의 손의 기울기에 따라 각각의 손가락별로 할당된 키 조합 중 각각 하나의 후보 키가 제시된 상황 하에서, 사용자의 선택 제스쳐가 발생하면 이를 인식하여 키 입력으로 처리하게 된다.In step S340, the virtual keyboard device selects at least one key among the candidate keys presented for each finger according to the selection gesture using the movement of the user's finger. As illustrated in FIG. 2, when a user's selection gesture is generated under a situation where one candidate key among the key combinations assigned to each finger is presented according to the inclination of the user's hand, .

이하에서는 도 4 및 도 5를 참조하여 손의 기울기를 추출하는 방법을 설명하도록 한다. 도 4는 본 발명의 실시예들에 따른 가상 키보드의 구현 방법에서 손의 기울기를 추출하는 기술을 예시한 도면이며, 도 5는 본 발명의 실시예들에 따른 가상 키보드의 구현 방법에서 원 모델(circle model)을 이용하여 손등 축(palm axis)과 전완 축(forearm axis)을 추출하는 기술을 예시한 도면이다. 설명의 편의를 위해 본 발명의 실시예들은, 깊이 센서를 사용하고, 팔이 화면의 하단을 향하고 있고, 손이 화면의 상단을 향하고 있으며, 영상의 이진화를 위해 손과 깊이 센서의 거리가 일정 거리 이하로 가깝다고 가정하였다.Hereinafter, a method of extracting the inclination of the hand will be described with reference to FIGS. 4 and 5. FIG. FIG. 4 is a diagram illustrating a technique of extracting the inclination of the hand in the method of implementing a virtual keyboard according to the embodiments of the present invention. FIG. circle model and a forearm axis are extracted using a circle model. For convenience of description, embodiments of the present invention use a depth sensor, with the arm pointing to the bottom of the screen, the hand pointing to the top of the screen, and the distance between the hand and the depth sensor .

손가락에 무관하게 손등을 인식하기 위해 전체 팔 영역에서 손목을 우선적으로 인식한 후 손 모델을 피팅(fitting)시킨다. 손목 부분을 정확하게 인식하기 위해 우선 팔 영역에 해당되는 픽셀 전체에 대하여 PCA(Principal Component Analysis)를 수행하여 해당 픽셀들의 주축을 찾아 회전 정규화(Orientation normalization)을 수행한다. 그 후, 거리 변환(Distance transform)을 이용하여 손의 중심점을 찾는데, 이는 팔 전체 이미지의 이웃 점들에 대한 등고선을 그리면 손의 중심에 해당되는 픽셀이 가장 높은 값을 가지게 된다는 원리를 이용한 것으로서, 도 4의 (a)를 통해 확인할 수 있다.To recognize the hand regardless of the finger, the wrist is first recognized in the whole arm area and then the hand model is fitted. In order to accurately recognize the wrist portion, PCA (Principal Component Analysis) is first performed on all the pixels corresponding to the arm region, and the principal axes of the pixels are found and rotation normalization is performed. Then, a distance transform is used to find the center point of the hand. This is based on the principle that the pixel corresponding to the center of the hand has the highest value when the contour line of the neighboring points of the whole image of the arm is drawn. 4 (a) of Fig.

이제, 손의 중심점을 중심으로 팔에 해당되는 원의 하단 영역에 대하여 반경을 키워나가면 손의 외곽선과 만나게 되어 손등 원 모델에 해당되는 반경을 얻을 수 있다. 손목 영역은 손 주축 방향에 직교하며 손등 원 모델과 접하는 선으로써 정의될 수 있으며, 도 5를 통해 예시되었다. 도 5를 참조하면, 손등 내의 중심 축(Hand Center, PH)을 중심으로 반지름 rH를 갖는 원 모델과 이로부터 결정된 손목(Wrist Line, LW), 손등 축(Palm Axis, LP) 및 전완 축(Forearm Axis, LF)이 추출될 수 있음을 알 수 있다.Now, if we raise the radius of the lower part of the circle corresponding to the arm centered on the center of the hand, it will meet with the outline of the hand, and the radius corresponding to the model of the back of the hand can be obtained. The wrist region can be defined as a line orthogonal to the direction of the hand axis and in contact with the model of the back of the hand, and is illustrated in FIG. 5, the central axis (Hand Center, P H) the center circle model and wrist (Wrist Line, L W), the back of the hand shaft (Palm Axis, L P) determined therefrom having a radius r H a in the back of the hand and It can be seen that Forearm Axis (L F ) can be extracted.

상기된 바와 같이, 손목 영역이 정의되면 해당 영역을 기준으로 손 영역과 팔 영역으로 나누고 각 영역의 거리 변환 국부 극대점(Distance transform local maxima)을 기준으로 손과 팔에 대하여 각각 주축을 찾을 수 있으며, 이러한 과정은 도 4의 (b) 및 (c)를 통해 순차적으로 예시되었다. 이와 같이, 두 개의 주축 정보를 이용하여 손의 기울기(손등 수직 축 회전)를 인식하며 사용자의 선택 제스쳐에 따라 특정 키 버튼을 선택하게 된다.As described above, if the wrist region is defined, the main axis can be found for the hand and the arm based on the distance transform local maxima of each region, This process has been sequentially illustrated through (b) and (c) of FIG. Thus, the user can recognize the tilt of the hand (vertical axis rotation of the hand) using the two pieces of main axis information and select a specific key button according to the user's selection gesture.

요약하건대, 본 발명의 실시예들에서 손의 기울기를 추출하는 과정은, 인식된 상기 손으로부터 손등 영역과 전완(forearm) 영역을 구분하는 손목을 검출하고, 상기 손등 영역과 상기 전완 영역으로부터 각각 손등 축과 전완 축을 설정하며, 검출된 상기 손목과 손등 축 또는 전완 축과의 상호 관계에 기초하여 상기 손의 기울기를 추출함으로써 수행될 수 있다.In summary, in the embodiments of the present invention, the process of extracting the inclination of the hand is performed by detecting a wrist for distinguishing the forearm region from the recognized hand region, Axis and the forearm axis, and extracting the inclination of the hand based on the correlation between the detected wrist and the forearm axis or forearm axis.

한편, 본 발명의 실시예들은 단지 손의 기울기를 이용하여 키보드의 키를 선택하는 것뿐만 아니라, 손목의 회전을 이용하여 키보드의 문자 조합을 변경하는 기능을 제공할 수 있다. 이를 위해, 본 발명의 실시예들은, 손목 회전을 이용한 제스쳐가 감지된 경우, 손가락별로 할당된 문자 조합을 변경하여 새롭게 각각의 손가락에 할당할 수 있다. 여기서, 상기 문자 조합은 언어별 문자 세트(character set), 숫자 세트 및 특수 문자 세트 중 적어도 둘 이상을 포함할 수 있다.The embodiments of the present invention can provide a function of changing the character combination of the keyboard by using the rotation of the wrist as well as selecting the key of the keyboard using only the tilt of the hand. To this end, embodiments of the present invention can change a character combination allocated to each finger and assign it to each finger newly when a gesture using the wrist rotation is detected. Here, the character combination may include at least two of a language-specific character set, a number set, and a special character set.

도 6은 본 발명의 실시예들에 따른 가상 키보드의 구현 방법에서 손목의 회전을 이용하여 손가락에 할당된 문자 조합을 변경하는 방법을 설명하기 위한 도면으로서, 사용자의 연속적인 손 동작을 예시한 것이다.6 is a diagram for explaining a method of changing a character combination assigned to a finger using rotation of the wrist in a method of implementing a virtual keyboard according to embodiments of the present invention, .

도 6의 (a)는 사용자가 손목을 회전시키기 직전의 상황을 도시한 것으로서, 이때 손가락에 할당된 키보드/키패드가 제 1 키보드(예를 들어, 영문 키보드가 될 수 있다.)라고 가정하자. 이제, 도 6의 (b)에서 사용자가 손목을 회전시켜 손날이 정면을 향하게 되면 본 발명의 실시예들에 따른 가상 키보드 장치는 문자 세트(character set) 변경 명령을 인식하게 된다. 그런 다음, 도 6의 (c)에서 사용자가 다시 손목을 회전시켜 원래의 위치로 돌아오면 가상 키보드 장치는 앞서 할당된 제 1 키보드에서 제 2 키보드(예를 들어, 한글 키보드가 될 수 있다.)로 문자 세트가 변경되게 된다. 마찬가지로 이러한 과정을 반복하면, 제 2 키보드에서 제 1 키보드로 변경되거나 또는 제 3 키보드(예를 들어, 숫자 키보드 내지 특수 문자 키보드가 될 수 있다.)로 순차적으로 변경되는 것도 가능하다.6 (a) shows a situation immediately before the user rotates the wrist. Assume that the keyboard / keypad assigned to the finger is a first keyboard (e.g., English keyboard). 6 (b), when the user rotates his / her wrist to turn the handwheel toward the front, the virtual keyboard device according to the embodiments of the present invention recognizes a character set change command. Then, when the user rotates the wrist again to return to the original position in FIG. 6C, the virtual keyboard device can be a second keyboard (for example, a Korean keyboard) in the first keyboard assigned previously. The character set will be changed. Likewise, by repeating this process, it is possible to change from the second keyboard to the first keyboard or sequentially change to a third keyboard (for example, a numeric keyboard or a special character keyboard).

이하에서는 도 7 및 도 8을 참조하여 사용자의 손목 회전을 인식하는 과정을 보다 구체적으로 설명하도록 한다.Hereinafter, the process of recognizing the user's wrist rotation will be described in more detail with reference to FIGS. 7 and 8. FIG.

도 7은 본 발명의 실시예들에 따른 가상 키보드의 구현 방법에서 원 모델을 이용하여 손등 영역과 손가락 영역을 분리하는 기술을 설명하기 위한 도면으로서, 원 모델을 이용하여 획득한 손 관련 정보를 표시하고 있다.FIG. 7 is a diagram for explaining a technique for separating a hand region and a finger region using a circular model in a method of implementing a virtual keyboard according to an embodiment of the present invention. Referring to FIG. 7, .

앞서 도 6을 통해 약술한 바와 같이, 본 발명의 실시예들에 따른 가상 키보드 기술은 키보드 조합의 변경/선택을 위해 손등의 수평축 회전을 이용한다. 손등이 원에 가깝게 추정되는 경우에는 손등이 수평축으로 회전되지 않은 상태이며 키보드 입력을 수행할 수 있는 상태이다. 손등이 타원에 가깝게 추정되는 경우에는 손등이 수평축으로 회전된 상태이며 키보드 조합 선택 명령을 수행하게 된다. 따라서, 손가락의 변화와 무관하게 손등의 모양을 추정하기 위해서는 손목 영역뿐만 아니라 각 손가락 영역의 정보가 필요하다. 앞서 원의 반경을 증가시키면서 손목 영역을 추정하였는데 손목 영역의 정보를 얻음과 동시에 손가락 영역에 대한 정보도 얻을 수 있었으며, 이러한 결과는 도 7에 예시되어 있다. 손목 영역, 손가락 영역, 손의 외각에 해당하는 픽셀의 위치 정보를 이용하여 코닉(conic)의 계수를 얻을 수 있다. 손등은 코닉의 세 가지 타입인 쌍곡선, 포물선, 타원 중 타원에 해당한다. 타원의 단축은 장축보다 길이가 길 수 없으므로 장축의 길이로 단축의 길이를 나누면 '0'에서 '1' 사이의 값으로 정규화하여 표현할 수 있다.As described above with reference to FIG. 6, the virtual keyboard technology according to embodiments of the present invention uses the horizontal axis rotation of the back of the hand for changing / selecting the keyboard combination. When the back of the hand is estimated to be close to the circle, the back of the hand is not rotated to the horizontal axis and the keyboard can be input. When the hand lamp is estimated to be close to the ellipse, the hand lamp is rotated on the horizontal axis and the keyboard combination selection command is executed. Therefore, in order to estimate the shape of the back of the hand regardless of the change of the finger, information of each finger region as well as the wrist region is required. The wrist region was estimated while increasing the radius of the circle, and information on the finger region was obtained at the same time as the wrist region information was obtained. These results are illustrated in FIG. The conic coefficient can be obtained using the position information of the pixel corresponding to the wrist region, the finger region, and the outer angle of the hand. The back of the hand corresponds to three types of conic: hyperbola, parabola, and ellipse. Since the short axis of the ellipse can not be longer than the long axis, the length of the short axis can be normalized to a value between '0' and '1' by dividing the length of the short axis by the length of the long axis.

도 8은 본 발명의 실시예들에 따른 가상 키보드의 구현 방법에서 원 모델을 이용하여 손목의 회전을 감지하는 방법을 설명하기 위한 도면으로서, 손목, 손가락, 손의 외각 정보를 이용하여 얻은 타원 정보를 표시하고 있다.8 is a view for explaining a method of detecting the rotation of the wrist using the original model in the method of implementing a virtual keyboard according to the embodiments of the present invention. .

도 8을 참조하면, 값이 1에 가까우면 손등은 원에 가까운 것으로 수평축으로 회전되지 않은 상태를 나타낸다. 반면 값이 0에 가까우면 손등은 타원에 가까운 것으로 수평축으로 회전한 상태로 인식하여 키보드 조합 선택 명령을 수행할 수 있다. 3차원 손목의 회전 정도를 알기 위해 타원에 의해 선택된 손등 영역에 대한 3차원 깊이 정보(3차원 점들)를 ICP(Iterative Closest Point)를 이용하여 3차원 손 모델에 피팅함으로써 3차원 회전 값을 알아낼 수 있다.Referring to FIG. 8, when the value is close to 1, the back of the hand is close to the circle, indicating that it is not rotated on the horizontal axis. On the other hand, if the value is close to 0, the hand lamp is recognized as being rotated to the horizontal axis near the ellipse, and the keyboard combination selection command can be executed. In order to know the degree of rotation of the 3D wrist, three-dimensional rotation information can be obtained by fitting the 3D depth information (3D points) of the back region selected by the ellipse to the 3D hand model using ICP (Iterative Closest Point) have.

이제, 본 발명의 실시예들은 키 버튼 입력이 가능한 상황을 나타내는 손등이 원에 가까운 상태에서만 키 버튼 입력을 수행한다. 키 버튼 입력은 각 손가락 끝의 움직임을 추적하여 그 궤적에 따라 입력을 판단할 수 있다. 손가락 끝은 손 영역에 해당되는 이진화 영상에 대해 볼록 결함(Convexity defect)을 사용하여 가장 바깥 테두리 영역 5개를 선택하여 인식할 수 있다.Now, the embodiments of the present invention perform key button input only when the hand light representing a situation in which key button input is possible is close to a circle. The key button input can track the movement of each fingertip and determine the input according to its trajectory. For the binarized image corresponding to the hand region, the fingertip can be recognized by selecting five outermost border regions using a convexity defect.

요약하건대, 본 발명의 실시예들에 따른 가상 키보드에서 손목 회전을 이용한 제스쳐를 감지하는 과정은, 인식된 손으로부터 추출된 손등 영역 내에 가상의 원을 형성하되, 상기 원의 형태가 타원에 가까운 정도를 나타내는 계수를 산출하여 임계치(키 버튼 입력을 허용할 수 있는 기준 값이 될 것이다.)와 비교함으로써, 손목 회전 여부를 결정할 수 있다.In summary, the process of detecting a gesture using a wrist rotation in a virtual keyboard according to embodiments of the present invention includes forming a virtual circle in a hand area extracted from a recognized hand, And determines whether or not to rotate the wrist by comparing the threshold with a threshold value (which will be a reference value allowing key button input).

도 9는 본 발명의 다른 실시예에 따른 손 인식에 기반한 가상 키보드의 구현 방법을 도시한 흐름도로서, 손의 기울기 입력과 선택 제스쳐의 입력의 선후 관계를 중심으로 일련의 처리 과정을 기술하였다. 앞서 도 3을 통해 설명한 바와 마찬가지로, 도 9의 가상 키보드의 구현 방법 역시 적어도 하나의 프로세서를 이용하여 구동되는 컴퓨터 프로그램의 형태로 구현되어 가상 키보드 장치에 구비될 수 있다.FIG. 9 is a flowchart illustrating a method of implementing a virtual keyboard based on hand recognition according to another embodiment of the present invention, and a series of processing steps is described focusing on the relationship between a hand tilt input and a selection gesture input. As described above with reference to FIG. 3, the method of implementing the virtual keyboard of FIG. 9 may also be implemented in the form of a computer program that is executed using at least one processor, and may be provided in a virtual keyboard device.

S910 단계에서, 적어도 하나의 프로세서를 구비하는 가상 키보드 장치는, 감지 센서를 이용하여 사용자의 손을 인식한다.In step S910, the virtual keyboard device having at least one processor recognizes the user's hand using the detection sensor.

S920 단계에서, 상기 가상 키보드 장치는, 상기 감지 센서를 이용하여 손등과 평행한 평면에 대한 손의 기울기 및 손가락의 움직임을 이용한 선택 제스쳐를 입력받는다.In step S920, the virtual keyboard device receives the selection gesture using the inclination of the hand and the movement of the finger with respect to the plane parallel to the back of the hand using the sensing sensor.

S930 단계에서, 상기 가상 키보드 장치는, 상기 S920 단계를 통해 입력된 상기 손의 기울기 및 상기 선택 제스쳐에 기초하여 상기 손의 손가락별로 각각 할당된 적어도 둘 이상의 키 조합 중 어느 하나의 키를 입력 값으로 선택한다. 이때, 손의 기울기 입력과 선택 제스쳐의 입력의 선후 관계에 따라 키 선택 과정에 다소 차이가 있을 수 있다.In step S930, the virtual keyboard device may select any one of at least two key combinations assigned to the finger of the hand based on the inclination of the hand and the selection gesture input through step S920 Select. At this time, there may be some differences in the key selection process depending on the relationship between the input of the hand slope and the input of the selection gesture.

첫째, 상기 손의 기울기가 상기 선택 제스쳐에 선행하여 입력된 경우, 상기 어느 하나의 키를 입력 값으로 선택하는 S930 단계는, 인식된 상기 손의 손가락별로 각각 적어도 둘 이상의 키를 조합하여 할당하고, 소정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 각각 키의 조합 중 어느 하나를 후보 키로 제시하며, 상기 사용자의 손가락의 움직임을 이용한 선택 제스쳐에 따라 상기 손가락별로 제시된 후보 키 중에서 적어도 하나의 키를 입력 값으로 선택할 수 있다. 이러한 과정은 앞서 도 3을 통해 소개한 바와 같다.First, when the inclination of the hand is inputted before the selection gesture, in step S930 of selecting any one of the keys as an input value, at least two or more keys are assigned to each finger of the recognized hand, The method comprising: presenting, as a candidate key, any one of a combination of keys for each finger based on a slope of a hand extracted in comparison with a predetermined criterion; and displaying at least one candidate key among the candidate keys presented for each finger according to a selection gesture using the movement of the user's finger You can select the key as the input value. This process is as shown in FIG. 3.

둘째, 상기 선택 제스쳐가 상기 손의 기울기에 선행하여 입력된 경우, 상기 어느 하나의 키를 입력 값으로 선택하는 S930 단계는, 상기 선택 제스쳐가 입력된 손가락별로 각각 적어도 둘 이상의 키를 조합하여 후보 키로서 할당하고, 소정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 할당된 후보 키 중에서 어느 하나의 키를 입력 값으로 선택할 수 있다. 이러한 두 번째 경우의 특징은 사용자의 키 선택 제스쳐가 선행된 경우에 선택된 손가락에 대해서만 할당된 조합 키를 표시할 수 있고, 이러한 조합 키에 대해 손의 기울기를 이용하여 입력 값을 결정할 수 있음을 나타낸다.If the selection gesture is input prior to the inclination of the hand, the selection of the one of the keys as the input value is performed by combining at least two keys for each of the fingers inputted in the selection gesture, And a candidate key assigned to each finger based on a slope of the extracted hand in comparison with a predetermined criterion can be selected as an input value. The feature of this second case is that it can display the assigned combination key only for the selected finger when the user's key selection gesture is preceded and indicates that the input value can be determined using the inclination of the hand for this combination key .

도 10은 본 발명의 일 실시예에 따른 손 인식에 기반한 가상 키보드 시스템(100)을 도시한 블럭도로서, 각 구성의 수행 동작은 앞서 설명한 도 3 및 도 9의 각 과정에 대응되므로, 여기서는 설명의 중복을 피하기 위해 장치적 특성을 중심으로 그 개요만을 약술하도록 한다.FIG. 10 is a block diagram illustrating a virtual keyboard system 100 based on hand recognition according to an embodiment of the present invention. The operation of each configuration corresponds to each of the processes of FIGS. 3 and 9 described above. To avoid redundancy, we should only outline the outline, focusing on device characteristics.

감지 센서(10)는 사용자의 손과 손가락의 움직임을 인식한다.The detection sensor 10 recognizes the movement of the user's hand and the finger.

메모리(30)는 가상 키보드를 구현하는 프로그램(40)을 저장한다.The memory 30 stores a program 40 that implements a virtual keyboard.

프로세서(20)는 적어도 하나 구비될 수 있으며, 상기 메모리(30)로부터 상기 가상 키보드를 구현하는 프로그램(40)을 독출하여 프로그램 내에 정의된 일련의 명령을 구동하는 역할을 수행한다.At least one processor 20 may be included and reads a program 40 implementing the virtual keyboard from the memory 30 to drive a series of commands defined in the program.

여기서, 상기 메모리(30)에 저장된 프로그램(40)은, 인식된 상기 손의 손가락별로 각각 적어도 둘 이상의 키를 조합하여 할당하고, 일정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 각각 키의 조합 중 어느 하나를 후보 키로 제시하며, 상기 사용자의 손가락의 움직임을 이용한 선택 제스쳐에 따라 상기 손가락별로 제시된 후보 키 중에서 적어도 하나의 키를 입력 값으로 선택하는 명령어를 포함한다.Here, the program (40) stored in the memory (30) combines and assigns at least two keys to each finger of the recognized hand, and assigns a key to each of the keys based on the inclination of the extracted hand, And a command for selecting at least one key among the candidate keys presented for each finger according to the selection gesture using the movement of the user's finger.

상기 메모리(30)에 저장된 프로그램(40)은, 상기 손의 기울기에 따라 상기 사용자의 손등과 평행한 평면을 기울기별 구간으로 분할하며, 각각의 구간별로 하나의 키를 후보 키로서 할당하는 명령어를 포함한다. 또한, 상기 키는 양손 타자를 위해서 쿼티(QWERTY) 키보드의 키 배열에 따라 사용자의 손가락에 각각 할당될 수 있으며, 한손 타자의 경우에는 퀴티 키보드의 일부 또는 키패드 등이 할당될 수도 있을 것이다.The program 40 stored in the memory 30 divides a plane parallel to the user's hand into slope sections according to the inclination of the hand and assigns one key as a candidate key for each section . In addition, the keys may be assigned to the user's fingers according to the key arrangement of the QWERTY keyboard for the two-handed hitter, and a portion of the equity keyboard or a keypad may be assigned for the one-handed hitter.

한편, 본 발명의 일 실시예에 따른 가상 키보드 시스템(100)은, 상기 손가락별로 각각 할당되는 키의 조합을 표시하는 디스플레이부(50)를 더 포함할 수 있으며, 상기 손가락별로 각각 할당되는 키의 조합은 상기 손가락의 움직임과 무관하도록 소정 기준 위치에 가상 키보드가 고정되어 상기 디스플레이부(50)를 통해 표시되는 것이 바람직하다.The virtual keyboard system 100 according to an embodiment of the present invention may further include a display unit 50 displaying a combination of keys assigned to the respective fingers, It is preferable that the combination is displayed through the display unit 50 by fixing the virtual keyboard at a predetermined reference position so as to be independent of the movement of the finger.

또한, 상기 디스플레이부(50)는 사용자의 실제 손은 투과시킴으로써 사용자로 하여금 시각적으로 인지하도록 유도하면서, 상기 투과된 손 위에 할당된 키의 조합을 오버랩(overlap)시켜 표시하는 시스루(see-through) 디스플레이 수단으로 구현될 수도 있다. 이 경우, 디스플레이부(50)는 헤드업(head-up) 내지 헤드마운트(head-mounted) 형태의 스마트 글래스(smart glass)로서 활용될 수 있을 것이다.In addition, the display unit 50 includes a see-through unit for overlapping and displaying a combination of keys allocated on the transparent hand, while guiding the user to visually recognize by transmitting the actual hand of the user. Display means. In this case, the display unit 50 may be utilized as a smart glass in the form of head-up to head-mounted.

나아가, 상기 메모리(30)에 저장된 프로그램(40)은, 상기 감지 센서(10)를 통하여 손목 회전을 이용한 제스쳐가 감지된 경우, 상기 손가락별로 할당된 문자 조합을 변경하여 새롭게 각각의 손가락에 할당하는 명령어를 더 포함하는 것이 바람직하다. 이때, 상기 문자 조합은 언어별 문자 세트, 숫자 세트 및 특수 문자 세트 중 적어도 둘 이상을 포함할 수 있다.In addition, when the gesture using the wrist rotation is sensed through the sensing sensor 10, the program 40 stored in the memory 30 may change the character combination assigned to each finger and newly assign the finger to each finger It is desirable to further include an instruction. At this time, the character combination may include at least two of a language-specific character set, a number set, and a special character set.

상기된 본 발명의 실시예들에 따르면, 비고정/적응적 형태의 가상 키보드를 제공하면서 이와 동시에 움직임이 적은 영역에 가상 키보드를 고정함으로써 보다 용이한 키 입력이 가능하고, 사용자의 손목의 기울기를 이용하여 복수의 키 조합을 각각 하나의 손가락에 매핑하는 일대다 관계를 구현함으로써 키보드의 표시에 따른 공간의 희생을 최소화하였으며, 손목의 회전을 이용하여 손가락에 할당된 문자 세트를 변경함으로써 보다 많은 문자 세트를 활용하거나 입력할 수 있다.According to the embodiments of the present invention described above, it is possible to provide a virtual keyboard in a non-fixed / adaptive form while at the same time fixing a virtual keyboard to an area with less movement, By implementing a one-to-many relationship in which a plurality of key combinations are mapped to a single finger using the keyboard, the sacrifice of space according to the display of the keyboard is minimized, and the rotation of the wrist is used to change the character set assigned to the finger, You can use or enter a set.

따라서, 종래의 고정형 가상 키보드 및 비고정형/적응형 가상 키보드의 인터랙션이 일어나는 부분과 본 발명의 실시예들이 제안하는 고정형/적응형 가상 키보드의 인터랙션을 비교하면 다음과 같다. 양자 모두 가상 키보드의 키 버튼 입력은 손가락 끝의 움직임에 의해 발생한다. 그러나, 종래의 가상 키보드 기법들은 키 버튼 선택 방법이 키 버튼 입력과 독립된 인터랙션으로 설계되어 있지 않기에 오입력이 일어날 확률이 매우 높으므로 타자시 사용자의 주의를 요한다는 단점이 있다. 또한, 키보드 조합 선택의 경우 종래의 가상 키보드는 특정 키 버튼을 누르는 인터랙션으로 설계되었기 때문에 앞서 언급한 오입력의 문제(즉, 키 버튼 선택 및 키 버튼 입력 모두를 의미한다.)에 종속적이다. 이에 반해, 본 발명의 실시예들이 제안하는 가상 키보드는 이러한 문제점들이 해소되었음을 알 수 있다.Accordingly, the interaction between the conventional fixed virtual keyboard and the non-fixed type / adaptive virtual keyboard, and the fixed / adaptive virtual keyboard proposed by the embodiments of the present invention are as follows. In both cases, the key button input of the virtual keyboard is caused by the movement of the fingertip. However, in the conventional virtual keyboard techniques, since the key button selection method is not designed as an independent interaction with the key button input, there is a disadvantage that the user is required to pay attention to the omnipotent input because the probability of occurrence of the omitting input is very high. In addition, in the case of keyboard combination selection, the conventional virtual keyboard is dependent on the above-mentioned problem of the false input (that is, both the key button selection and the key button input) because it is designed as an interaction for pressing a specific key button. On the contrary, the virtual keyboard proposed by the embodiments of the present invention shows that these problems are solved.

본 발명의 실시예들이 제안하는 가상 키보드는 컴퓨터 등에 가장 널리 쓰이는 입력 방식인 쿼티(QWERTY) 키보드에서의 손 움직임을 차용하여 구현될 수 있기 때문에 기존의 패러다임을 이용하여 쉽고 직관적으로 사용할 수 있다. 또한, 스마트 안경의 디스플레이 내의 증강현실을 통해서 직접 손의 움직임을 보면서 입력을 할 수 있기 때문에 손 인식 기술의 정확도에 따라 기존의 키보드 입력 속도만큼 빠른 속도의 입력이 가능하다. 나아가, 현재의 스마트 안경 및 HMD의 기초적인 입력장치 혹은 고정형 가상 키보드를 대체할 수 있기 때문에 향후 스마트 안경 및 HMD의 입력에 대한 기반 기술로서 활용될 수 있다.The virtual keyboard proposed by embodiments of the present invention can be implemented using a hand movement in a QWERTY keyboard, which is the most widely used input method used in computers and the like, so that it can be easily and intuitively used by using the existing paradigm. In addition, since it is possible to input while observing the movement of the hand directly through the augmented reality in the display of the smart glasses, it is possible to input at a speed as high as the conventional keyboard input speed according to the accuracy of the hand recognition technology. Furthermore, since it can replace the basic input device of the smart glasses and the HMD or the fixed virtual keyboard, it can be utilized as a base technology for inputting smart glasses and HMD in the future.

한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the embodiments of the present invention can be embodied as computer readable codes on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device and the like, and also a carrier wave (for example, transmission via the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to various embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

100 : 가상 키보드의 구현 장치
10 : 감지 센서 20 : 프로세서
30 : 메모리 40 : 프로그램
50 : 디스플레이부
100: Implementation of virtual keyboard
10: detection sensor 20: processor
30: memory 40: program
50:

Claims (20)

적어도 하나의 프로세서를 이용하여 가상 키보드를 구현하는 방법에 있어서,
감지 센서를 이용하여 사용자의 손을 인식하는 단계;
인식된 상기 손의 손가락별로 각각 적어도 둘 이상의 키(key)를 조합하여 할당하는 단계;
소정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 각각 키의 조합 중 어느 하나를 후보 키로 제시하는 단계; 및
상기 사용자의 손가락의 움직임을 이용한 선택 제스쳐에 따라 상기 손가락별로 제시된 후보 키 중에서 적어도 하나의 키를 입력 값으로 선택하는 단계;를 포함하는 가상 키보드의 구현 방법.
A method for implementing a virtual keyboard using at least one processor,
Recognizing a user's hand using a detection sensor;
Assigning at least two keys to each finger of the recognized hand;
Presenting, as candidate keys, any one of a combination of keys for each finger based on a slope of a hand extracted in comparison with a predetermined criterion; And
And selecting at least one key among the candidate keys presented for each finger according to a selection gesture using the movement of the user's finger.
제 1 항에 있어서,
상기 둘 이상의 키를 조합하여 할당하는 단계는,
상기 손의 기울기에 따라 상기 사용자의 손등과 평행한 평면을 기울기별 구간으로 분할하며, 각각의 구간별로 하나의 키를 후보 키로서 할당하는 것을 특징으로 하는 가상 키보드의 구현 방법.
The method according to claim 1,
Wherein the step of assigning the two or more keys in combination comprises:
Wherein a plane parallel to the user's hand is divided into slopes according to a slope of the hand, and one key is assigned as a candidate key for each slice.
제 2 항에 있어서,
상기 분할된 구간의 수는 상기 손가락별로 할당된 키의 조합 수와 동일한 것을 특징으로 하는 가상 키보드의 구현 방법.
3. The method of claim 2,
Wherein the number of divided intervals is equal to the number of combinations of keys assigned to the respective fingers.
제 1 항에 있어서,
상기 키는 쿼티(QWERTY) 키보드의 키 배열에 따라 사용자의 손가락에 각각 할당되는 것을 특징으로 하는 가상 키보드의 구현 방법.
The method according to claim 1,
Wherein the keys are assigned to a user's finger according to a key arrangement of a QWERTY keyboard.
제 1 항에 있어서,
상기 손가락별로 각각 할당되는 키의 조합은 상기 사용자의 손등 또는 손목을 기준으로 가상 키보드가 고정되어 디스플레이 수단을 통해 표시되는 것을 특징으로 하는 가상 키보드의 구현 방법.
The method according to claim 1,
Wherein a combination of keys assigned to the respective fingers is displayed on the display unit by fixing the virtual keyboard with reference to the user's hand or wrist.
제 1 항에 있어서,
상기 소정 기준과 대비한 손의 기울기를 추출하는 과정은,
인식된 상기 손으로부터 손등 영역과 전완(forearm) 영역을 구분하는 손목을 검출하고, 상기 손등 영역과 상기 전완 영역으로부터 각각 손등 축과 전완 축을 설정하며, 검출된 상기 손목과 손등 축 또는 전완 축과의 상호 관계에 기초하여 상기 손의 기울기를 추출함으로써 수행되는 것을 특징으로 하는 가상 키보드의 구현 방법.
The method according to claim 1,
The step of extracting the inclination of the hand with respect to the predetermined reference,
Detecting a wrist separating a hand region and a forearm region from the recognized hand and setting a hand axis and a forearm axis respectively from the hand region and the forearm region and detecting the position of the hand and the forearm axis And extracting the slope of the hand based on the correlation.
제 1 항에 있어서,
손목 회전을 이용한 제스쳐가 감지된 경우, 상기 손가락별로 할당된 문자 조합을 변경하여 새롭게 각각의 손가락에 할당하는 단계;를 더 포함하는 가상 키보드의 구현 방법.
The method according to claim 1,
And changing a character combination assigned to each finger when the gesture using the wrist rotation is detected, and assigning a new finger to each finger.
제 7 항에 있어서,
상기 문자 조합은 언어별 문자 세트(character set), 숫자 세트 및 특수 문자 세트 중 적어도 둘 이상을 포함하는 것을 특징으로 하는 가상 키보드의 구현 방법.
8. The method of claim 7,
Wherein the character combination includes at least two of a language-specific character set, a number set, and a special character set.
제 7 항에 있어서,
상기 손목 회전을 이용한 제스쳐를 감지하는 과정은,
인식된 상기 손으로부터 추출된 손등 영역 내에 가상의 원을 형성하되, 상기 원의 형태가 타원에 가까운 정도를 나타내는 계수를 산출하여 임계치와 비교함으로써, 손목 회전 여부를 결정하는 것을 특징으로 하는 가상 키보드의 구현 방법.
8. The method of claim 7,
Wherein the step of detecting the gesture using the wrist rotation comprises:
Wherein a virtual circle is formed in the hand area extracted from the recognized hand, and a coefficient indicating a degree of the circle shape close to an ellipse is calculated and compared with a threshold value to decide whether to rotate the wrist Implementation method.
적어도 하나의 프로세서를 이용하여 가상 키보드를 구현하는 방법에 있어서,
감지 센서를 이용하여 사용자의 손을 인식하는 단계;
상기 감지 센서를 이용하여 손등과 평행한 평면에 대한 손의 기울기 및 손가락의 움직임을 이용한 선택 제스쳐를 입력받는 단계; 및
입력된 상기 손의 기울기 및 상기 선택 제스쳐에 기초하여 상기 손의 손가락별로 각각 할당된 적어도 둘 이상의 키 조합 중 어느 하나의 키를 입력 값으로 선택하는 단계;를 포함하는 가상 키보드의 구현 방법.
A method for implementing a virtual keyboard using at least one processor,
Recognizing a user's hand using a detection sensor;
Receiving a selection gesture using a tilt of a hand and a movement of a finger with respect to a plane parallel to the back of the hand using the sensing sensor; And
Selecting one of the at least two keys assigned to the finger of the hand based on the input hand slope and the selection gesture as an input value.
제 10 항에 있어서,
상기 손의 기울기가 상기 선택 제스쳐에 선행하여 입력된 경우, 상기 어느 하나의 키를 입력 값으로 선택하는 단계는,
인식된 상기 손의 손가락별로 각각 적어도 둘 이상의 키를 조합하여 할당하고, 소정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 각각 키의 조합 중 어느 하나를 후보 키로 제시하며, 상기 사용자의 손가락의 움직임을 이용한 선택 제스쳐에 따라 상기 손가락별로 제시된 후보 키 중에서 적어도 하나의 키를 입력 값으로 선택하는 것을 특징으로 하는 가상 키보드의 구현 방법.
11. The method of claim 10,
Wherein when the inclination of the hand is inputted before the selection gesture, the step of selecting any one of the keys as the input value comprises:
At least two or more keys are assigned to each finger of the recognized hand and a combination of the keys is presented as a candidate key on the basis of the slope of the extracted hand in comparison with a predetermined reference, Wherein at least one key among the candidate keys presented for each finger is selected as an input value according to a selection gesture using motion of the finger.
제 10 항에 있어서,
상기 선택 제스쳐가 상기 손의 기울기에 선행하여 입력된 경우, 상기 어느 하나의 키를 입력 값으로 선택하는 단계는,
상기 선택 제스쳐가 입력된 손가락별로 각각 적어도 둘 이상의 키를 조합하여 후보 키로서 할당하고, 소정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 할당된 후보 키 중에서 어느 하나의 키를 입력 값으로 선택하는 것을 특징으로 하는 가상 키보드의 구현 방법.
11. The method of claim 10,
Wherein when the selection gesture is input prior to the inclination of the hand, the step of selecting any one of the keys as the input value comprises:
Wherein each of the candidate gestures is assigned as a candidate key by combining at least two keys with respect to each of the input fingers, and a key selected among the candidate keys assigned to each finger based on a slope of the extracted hand in comparison with a predetermined reference, And selecting the virtual keyboard.
제 1 항 내지 제 12 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 12. 사용자의 손과 손가락의 움직임을 인식하는 감지 센서;
가상 키보드를 구현하는 프로그램을 저장하는 메모리; 및
상기 가상 키보드를 구현하는 프로그램을 구동하는 적어도 하나의 프로세서;를 포함하되,
상기 메모리에 저장된 프로그램은,
인식된 상기 손의 손가락별로 각각 적어도 둘 이상의 키를 조합하여 할당하고, 소정 기준과 대비하여 추출된 손의 기울기에 기초하여 손가락별로 각각 키의 조합 중 어느 하나를 후보 키로 제시하며, 상기 사용자의 손가락의 움직임을 이용한 선택 제스쳐에 따라 상기 손가락별로 제시된 후보 키 중에서 적어도 하나의 키를 입력 값으로 선택하는 명령어를 포함하는 것을 특징으로 하는 가상 키보드의 구현 장치.
A sensing sensor for recognizing movement of a user's hand and a finger;
A memory for storing a program for implementing a virtual keyboard; And
And at least one processor for driving a program implementing the virtual keyboard,
A program stored in the memory,
At least two or more keys are assigned to each finger of the recognized hand and a combination of the keys is presented as a candidate key on the basis of the slope of the extracted hand in comparison with a predetermined reference, And selecting at least one key among the candidate keys presented for each finger according to the selection gesture using the movement of the finger.
제 14 항에 있어서,
상기 메모리에 저장된 프로그램은,
상기 손의 기울기에 따라 상기 사용자의 손등과 평행한 평면을 기울기별 구간으로 분할하며, 각각의 구간별로 하나의 키를 후보 키로서 할당하는 명령어를 포함하는 것을 특징으로 하는 가상 키보드의 구현 장치.
15. The method of claim 14,
A program stored in the memory,
And dividing a plane parallel to the user's hand into slope sections according to a slope of the hand, and assigning one key as a candidate key for each section.
제 14 항에 있어서,
상기 키는 쿼티(QWERTY) 키보드의 키 배열에 따라 사용자의 손가락에 각각 할당되는 것을 특징으로 하는 가상 키보드의 구현 장치.
15. The method of claim 14,
Wherein the keys are respectively assigned to a user's finger according to a key arrangement of a QWERTY keyboard.
제 14 항에 있어서,
상기 손가락별로 각각 할당되는 키의 조합을 표시하는 디스플레이부;를 더 포함하되,
상기 손가락별로 각각 할당되는 키의 조합은 상기 손가락의 움직임과 무관하도록 소정 기준 위치에 가상 키보드가 고정되어 상기 디스플레이부를 통해 표시되는 것을 특징으로 하는 가상 키보드의 구현 장치.
15. The method of claim 14,
And a display unit displaying a combination of keys assigned to the respective fingers,
Wherein a combination of keys assigned to the respective fingers is fixed to a predetermined reference position so as to be independent of the movement of the finger, and is displayed through the display unit.
제 14 항에 있어서,
상기 손가락별로 각각 할당되는 키의 조합을 표시하는 디스플레이부;를 더 포함하되,
상기 디스플레이부는 사용자의 실제 손은 투과시킴으로써 사용자로 하여금 시각적으로 인지하도록 유도하면서, 상기 투과된 손 위에 할당된 키의 조합을 오버랩(overlap)시켜 표시하는 시스루(see-through) 디스플레이 수단인 것을 특징으로 하는 가상 키보드의 구현 장치.
15. The method of claim 14,
And a display unit displaying a combination of keys assigned to the respective fingers,
The display unit is a see-through display unit for displaying a combination of the keys allocated on the transmitted hand, while inducing the user to visually recognize by transmitting the actual hand of the user. Implementation of a virtual keyboard.
제 14 항에 있어서,
상기 메모리에 저장된 프로그램은,
상기 감지 센서를 통하여 손목 회전을 이용한 제스쳐가 감지된 경우, 상기 손가락별로 할당된 문자 조합을 변경하여 새롭게 각각의 손가락에 할당하는 명령어를 더 포함하는 것을 특징으로 하는 가상 키보드의 구현 장치.
15. The method of claim 14,
A program stored in the memory,
Further comprising instructions for changing a character combination assigned to each of the fingers and allocating a new finger to each of the fingers when the gesture using the wrist rotation is detected through the detection sensor.
제 19 항에 있어서,
상기 문자 조합은 언어별 문자 세트, 숫자 세트 및 특수 문자 세트 중 적어도 둘 이상을 포함하는 것을 특징으로 하는 가상 키보드의 구현 장치.
20. The method of claim 19,
Wherein the character combination includes at least two of a language-specific character set, a number set, and a special character set.
KR1020140136522A 2014-10-10 2014-10-10 A virtual keyboard based on hand recognition and implementing method thereof KR101559424B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140136522A KR101559424B1 (en) 2014-10-10 2014-10-10 A virtual keyboard based on hand recognition and implementing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140136522A KR101559424B1 (en) 2014-10-10 2014-10-10 A virtual keyboard based on hand recognition and implementing method thereof

Publications (1)

Publication Number Publication Date
KR101559424B1 true KR101559424B1 (en) 2015-10-12

Family

ID=54347298

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140136522A KR101559424B1 (en) 2014-10-10 2014-10-10 A virtual keyboard based on hand recognition and implementing method thereof

Country Status (1)

Country Link
KR (1) KR101559424B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608511A (en) * 2017-09-14 2018-01-19 张兰梅 Input method and device
KR20210017788A (en) * 2019-08-09 2021-02-17 한국과학기술원 Apparatus and method for tracking hand motion
US11709593B2 (en) 2019-09-18 2023-07-25 Samsung Electronics Co., Ltd. Electronic apparatus for providing a virtual keyboard and controlling method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301583A (en) 2004-04-09 2005-10-27 Nara Institute Of Science & Technology Typing input device
JP2014165660A (en) 2013-02-25 2014-09-08 Univ Of Tsukuba Method of input with virtual keyboard, program, storage medium, and virtual keyboard system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301583A (en) 2004-04-09 2005-10-27 Nara Institute Of Science & Technology Typing input device
JP2014165660A (en) 2013-02-25 2014-09-08 Univ Of Tsukuba Method of input with virtual keyboard, program, storage medium, and virtual keyboard system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608511A (en) * 2017-09-14 2018-01-19 张兰梅 Input method and device
KR20210017788A (en) * 2019-08-09 2021-02-17 한국과학기술원 Apparatus and method for tracking hand motion
KR102228639B1 (en) * 2019-08-09 2021-03-16 한국과학기술원 Apparatus and method for tracking hand motion
US11709593B2 (en) 2019-09-18 2023-07-25 Samsung Electronics Co., Ltd. Electronic apparatus for providing a virtual keyboard and controlling method thereof

Similar Documents

Publication Publication Date Title
US20220261112A1 (en) Systems, devices, and methods for touch-free typing
US10732725B2 (en) Method and apparatus of interactive display based on gesture recognition
US10120454B2 (en) Gesture recognition control device
US10203764B2 (en) Systems and methods for triggering actions based on touch-free gesture detection
US20180292907A1 (en) Gesture control system and method for smart home
KR101542625B1 (en) Method and apparatus for selecting an object within a user interface by performing a gesture
JP5802667B2 (en) Gesture input device and gesture input method
JP2019087279A (en) Systems and methods of direct pointing detection for interaction with digital device
CN110785688A (en) Multi-modal task execution and text editing for wearable systems
US20160098094A1 (en) User interface enabled by 3d reversals
US20140375547A1 (en) Touch free user interface
Xiao et al. LensGesture: augmenting mobile interactions with back-of-device finger gestures
US20140362002A1 (en) Display control device, display control method, and computer program product
US20200142495A1 (en) Gesture recognition control device
US10372229B2 (en) Information processing system, information processing apparatus, control method, and program
CN108073432B (en) User interface display method of head-mounted display equipment
US10621766B2 (en) Character input method and device using a background image portion as a control region
CN105700727B (en) With the exchange method and information processing system of hyaline layer application layer below
EP4307096A1 (en) Key function execution method, apparatus and device, and storage medium
Ren et al. Towards the design of effective freehand gestural interaction for interactive TV
KR101559424B1 (en) A virtual keyboard based on hand recognition and implementing method thereof
US12013987B2 (en) Non-standard keyboard input system
US20230009807A1 (en) Text entry method and mobile device
JP2021077097A (en) Information processing device, information processing method, and program
Lee et al. Embodied interaction on constrained interfaces for augmented reality

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 4