[go: up one dir, main page]

KR20190069023A - Method of Providing Touchless Input Interface Based on Hand Recognition and The Apparatus Applied Thereto - Google Patents

Method of Providing Touchless Input Interface Based on Hand Recognition and The Apparatus Applied Thereto Download PDF

Info

Publication number
KR20190069023A
KR20190069023A KR1020170169360A KR20170169360A KR20190069023A KR 20190069023 A KR20190069023 A KR 20190069023A KR 1020170169360 A KR1020170169360 A KR 1020170169360A KR 20170169360 A KR20170169360 A KR 20170169360A KR 20190069023 A KR20190069023 A KR 20190069023A
Authority
KR
South Korea
Prior art keywords
hand
image
user
candidate region
contour
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020170169360A
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 KR1020170169360A priority Critical patent/KR20190069023A/en
Publication of KR20190069023A publication Critical patent/KR20190069023A/en
Ceased legal-status Critical Current

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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06K9/00382
    • G06K9/4652
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/11Hand-related biometrics; Hand pose recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

Disclosed are a method and apparatus for providing a contactless input interface based on hand recognition. The method comprises the steps of: obtaining an image including a hand of a user using a camera; extracting and binarizing a hand candidate region, which is a region determined by human skin color in the image; extracting an outline of the binarized hand candidate region and detecting a hand outline coincident with a hand shape from the outline; determining fingertip from the hand outline; and judging an input operation of a user using the fingertip.

Description

손 인식 기반 비접촉식 입력 인터페이스 제공 방법 및 장치 {Method of Providing Touchless Input Interface Based on Hand Recognition and The Apparatus Applied Thereto}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a touch-

본 발명은 손 인식 기반 비접촉식 입력 인터페이스 제공 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for providing a hand-recognition based non-contact type input interface.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다. The contents described in this section merely provide background information on the present embodiment and do not constitute the prior art.

스마트폰과 같은 이동 단말이 보급되면서, 이동 단말에 포함된 터치 스크린, 센서 및 카메라 등을 이용한 다양한 인터페이스 기술이 연구되고 있다.2. Description of the Related Art Various types of interface technologies using a touch screen, a sensor, and a camera included in a mobile terminal have been researched as a mobile terminal such as a smart phone has become popular.

최근에는 다양한 유저 인터페이스 환경을 제공하기 위하여 디스플레이 모듈에 터치패드를 결합한 터치스크린이 스마트 디바이스에 채용되고 있으며, 이로 인하여 사용자는 디스플레이 모듈에 구현된 화면을 보면서 다양한 사용자 명령을 입력하거나 기능을 선택할 수 있게 되었다.In recent years, in order to provide various user interface environments, a touch screen in which a touch pad is combined with a display module is employed in a smart device. Thus, a user can input various user commands or select a function while viewing a screen implemented in the display module .

종래의 터치스크린을 이용한 스마트 디바이스에서는 사용자가 문자를 입력하기 위해서는 문자를 입력하고자 하는 사이트 또는 메신저 화면과 함께 키보드를 디스플레이하여 사용자가 키보드를 손가락으로 터치함으로서 문자를 입력할 수 있다. 이 경우, 스마트 디바이스의 작은 화면을 나누어 써야 하기 때문에 키보드 화면이 작아 오타가 발생하기 쉽고, 손에 이물질이 묻어 터치가 어려운 상황에서는 키보드를 조작하기 어렵다. 또한, 손가락이나 터치펜 등을 통해 반드시 접촉을 통해야만 기기 조작이 가능해짐에 따라 잦은 터치로 인해 액정 손상이나, 특정 부분의 인식이 저하될 수 있다. 따라서, 사용자가 터치스크린을 접촉하지 않고도 문자 입력이 가능한 새로운 입력 방법이 구현될 필요성이 있다.In a smart device using a conventional touch screen, a user may input a character by inputting a character by touching the keyboard with a user by displaying a keyboard together with a site or a messenger screen on which a character is to be input. In this case, since a small screen of the smart device needs to be divided, it is easy to generate an error due to a small keyboard screen, and it is difficult to operate the keyboard in a situation where foreign substances are present on the hand and the touch is difficult. In addition, since the device can be operated only by touching through a finger or a touch pen, frequent touches may deteriorate the liquid crystal damage or recognition of a specific portion. Thus, there is a need to implement a new input method that allows a user to enter text without touching the touch screen.

기존의 비접촉식 입력 인터페이스는 카메라를 이용하여 손을 인식해 손의 제스처를 인식하여 특정 동작을 수행하거나 가상 마우스 또는 가상 키보드를 구현한 것이 있다. 그러나, 이러한 기존의 비접촉식 입력 인터페이스의 경우에는 손을 인식하기 위하여 키네틱 장치나 깊이 카메라 등 고가의 장치를 별도로 구비하여야 하는 경우가 대부분이다. 또한, 2차원 카메라만을 이용한 손 인식 기반의 입력 인터페이스를 구현한 기술의 경우에도 피부색 정보를 기반으로 손을 인식하는 기술이 대부분이기 때문에 얼굴과 손이 겹쳐서 카메라에 인식되는 경우에는 인터페이스의 이용이 어렵다는 문제점 있다.The conventional non-contact input interface recognizes a hand using a camera to recognize a gesture of a hand to perform a specific operation or to implement a virtual mouse or a virtual keyboard. However, in the case of such a conventional non-contact type input interface, expensive devices such as a kinetic device and a depth camera should be separately provided in order to recognize a hand. In addition, even in the case of a technique that implements a hand-based input interface using only a two-dimensional camera, most of the techniques for recognizing a hand based on skin color information are difficult to use the interface when the face and the hand are overlapped and recognized by the camera There is a problem.

본 실시예는, 기존 스마트 기기에 구비되어 있는 2차원 카메라만으로 손을 인식하여 키보드를 통해 문자를 입력할 수 있는 비접촉식 입력 인터페이스 제공 방법 및 장치을 제공하는데 주된 목적이 있다.The main object of the present invention is to provide a method and apparatus for providing a non-contact type input interface capable of recognizing a hand using only a two-dimensional camera provided in an existing smart device and inputting characters through a keyboard.

본 발명의 일 실시예에 의하면, 카메라를 이용하여 사용자의 손을 포함한 영상을 얻는 과정; 상기 영상에서 사람의 피부색으로 판단되는 영역인 손 후보 영역을 추출하고 이진화하는 과정; 이진화된 손 후보 영역의 윤곽선을 추출하고, 상기 윤곽선으로부터 손 모양과 일치하는 손 윤곽선을 검출하는 과정; 상기 손 윤곽선으로부터 손가락 끝점을 결정하는 과정; 및 상기 손가락 끝점을 이용해 사용자의 입력 동작을 판단하는 과정을 포함하는 비접촉식 입력 인터페이스 제공 방법을 제공한다.According to an embodiment of the present invention, there is provided a method of acquiring an image including a user's hand using a camera; Extracting and binarizing a hand candidate region which is an area judged to be a human skin color in the image; Extracting a contour of the binarized hand candidate region and detecting a hand contour line that matches the contour line; Determining a fingertip point from the hand contour; And determining a user's input operation using the fingertip. The present invention also provides a method for providing a non-contact type input interface.

본 실시예에 의한 비접촉식 입력 인터페이스 제공 방법은 다음과 같은 특징을 더 포함할 수 있다.The method for providing the non-contact type input interface according to the present embodiment may further include the following features.

상기 영상은 밝기 정보 및 색차 정보를 포함하는 YUV 데이터 포맷으로 이루어질 수 있다.The image may be a YUV data format including brightness information and color difference information.

상기 손 후보 영역을 추출하고 이진화하는 과정에서, U 및 V 값의 범위를 지정하여 상기 영상으로부터 사람의 피부색과 유사한 부분을 상기 손 후보 영역으로 추출할 수 있다.In the process of extracting and binarizing the hand candidate region, a range similar to a human skin color can be extracted from the image into the hand candidate region by designating a range of U and V values.

상기 손 윤곽선을 검출하는 과정에서, 상기 영상의 현재 픽셀과 다음 픽셀의 U 또는 V 값의 차이가 기설정된 값 이상이면, 상기 현재 픽셀을 윤곽선으로 설정하고, 상기 현재 픽셀과 상기 다음 픽셀의 U 또는 V 값의 차이가 기설정된 값 이하이면, 상기 현재 픽셀과 이전 픽셀의 U, V 또는 Y 값을 비교하여 기설정된 값 이상인 경우 상기 이전 픽셀에 소벨 마스크(sobel mask)를 적용하여 윤곽선을 설정할 수 있다.The method comprising: setting the current pixel as a contour line when the difference between the U or V value of the current pixel and the next pixel of the image is equal to or greater than a predetermined value in the process of detecting the hand contour, If the difference between the V values is less than a predetermined value, the U, V, or Y values of the current pixel and the previous pixel are compared to set a contour line by applying a sobel mask to the previous pixel .

본 발명의 다른 실시예에 의하면, 표시부; 카메라를 이용하여 사용자의 손을 포함한 영상을 획득하는 영상획득부; 상기 영상으로부터 상기 손을 인식하여 사용자의 입력 동작을 판단하는 동작인식부; 및 상기 사용자의 입력 동작을 전달받아, 문자 입력 제어 정보를 생성하고 화면 제어를 수행하는 제어부를 포함하고, 상기 동작인식부는, 상기 영상에서 사람의 피부색으로 판단되는 영역인 손 후보 영역을 추출하고 이진화하고, 이진화된 손 후보 영역의 윤곽선을 추출하여, 상기 윤곽선으로부터 손 모양과 일치하는 손 윤곽선을 검출하여 손가락 끝점을 결정하고, 상기 손가락 끝점을 이용해 상기 사용자의 입력 동작을 판단하는 것을 특징으로 하는 비접촉식 입력 인터페이스 장치를 제공한다.According to another embodiment of the present invention, there is provided a display device comprising: a display unit; An image acquisition unit for acquiring an image including a user's hand using a camera; An operation recognition unit for recognizing the hand from the image and determining an input operation of the user; And a control unit receiving the input operation of the user and generating character input control information and performing screen control, wherein the motion recognizing unit extracts a hand candidate region, which is an area judged as a human skin color in the image, Wherein the input operation of the user is determined using the finger end point by extracting a contour of the binarized hand candidate region, detecting a hand contour corresponding to a hand shape from the contour line to determine a finger end point, Thereby providing an input interface device.

본 실시예에 따르면, 별도의 고가의 장비를 사용하지 않더라도 2차원 카메라를 통해 사용자의 손가락 동작을 정확하게 인식하여, 사용자에게 터치스크린을 통하지 않더라도 문자를 입력할 수 있는 키보드 인터페이스를 제공할 수 있는 효과가 있다.According to the present embodiment, it is possible to provide a keyboard interface capable of correctly recognizing a finger operation of a user through a two-dimensional camera without using expensive equipment and inputting a character even if the user does not touch the touch screen .

또한, 2차원 카메라를 통해 인식된 영상에 얼굴과 같은 손 이외의 피부색 영역이 포함되어 있더라도, 영상에 포함되어 있는 손 영역을 정확하게 인식할 수 있는 효과가 있다. In addition, even if the image recognized by the two-dimensional camera includes a skin color area other than a hand-like hand, the hand area included in the image can be accurately recognized.

도 1은 본 발명의 일 실시예에 따른 비접촉식 입력 인터페이스 제공 장치의 기본 구성을 간략히 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 손 인식 기반의 비접촉십 입력 인터페이스 제공 방법을 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 손 인식 기반의 비접촉식 입력 인터페이스 제공 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 이진화된 손 후보 영역을 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따라 추출된 손 후보 영역의 윤곽선을 예시한 도면이다.
도 6은 본 발명 일 시시예에 따라 손 윤곽선을 검출하는 과정을 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 손 윤곽선 추출 방법을 설명하기 위한 흐름도이다.
도 8은 입력 영상의 데이터를 이루는 픽셀들을 예시한 도면이다.
도 9는 입력 영상의 YUV 데이터 포맷을 예시한 도면이다.
1 is a block diagram briefly showing a basic configuration of a non-contact type input interface providing apparatus according to an embodiment of the present invention.
2 is a diagram illustrating a method for providing a non-contact subscription interface based on hand recognition according to an embodiment of the present invention.
3 is a flowchart illustrating a method for providing a non-contact type input interface based on a hand recognition according to an embodiment of the present invention.
4 is a diagram illustrating a binarized hand candidate region according to an embodiment of the present invention.
5 is a view illustrating an outline of a hand candidate region extracted according to an embodiment of the present invention.
6 is a diagram illustrating a process of detecting a hand contour according to an exemplary embodiment of the present invention.
FIG. 7 is a flowchart illustrating a hand outline extraction method according to an embodiment of the present invention.
8 is a diagram illustrating pixels forming data of an input image.
9 is a diagram illustrating a YUV data format of an input image.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference symbols as possible even if they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. Throughout the specification, when an element is referred to as being "comprising" or "comprising", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise . In addition, '... Quot ;, " module ", and " module " refer to a unit that processes at least one function or operation, and may be implemented by hardware or software or a combination of hardware and software.

도 1은 본 발명의 일 실시예에 따른 비접촉식 입력 인터페이스 제공 장치의 기본 구성을 간략히 도시한 블록도이다.1 is a block diagram briefly showing a basic configuration of a non-contact type input interface providing apparatus according to an embodiment of the present invention.

본 실시예에 따른 비접촉식 입력 인터페이스 제공 장치(100)는, 예컨대, 스마트폰과 같은 모바일 기기 및 컴퓨터 등에 적용될 수 있으며, 도 1을 참조하면, 영상획득부(110), 동작인식부(120), 제어부(130) 및 표시부(140)를 포함하여 구성될 수 있다. 또한, 손 인식을 통한 비접촉식 입력 인터페이스는 기존의 멀티터치 기능을 갖는 터치스크린을 장착한 모바일 기기 등에도 적용될 수 있다.1, the apparatus 100 for providing a non-contact type input interface according to the present embodiment can be applied to, for example, a mobile device such as a smart phone and a computer, and includes an image acquisition unit 110, A control unit 130 and a display unit 140. [ Also, the non-contact type input interface through hand recognition can be applied to a mobile device equipped with a touch screen having a conventional multi-touch function.

영상획득부(110)는 비접촉식으로 입력 인터페이스를 수행하기 위해 손을 포함한 영상을 획득할 수 있는 카메라를 포함하며, 카메라로부터 영상을 획득하여 동작인식부(120)로 전송한다. 예컨대, 영상획득부(110)는 스마트폰의 전면 카메라를 포함하여 사용자가 화면에 표시된 키보드 배열에 따라 문자를 입력하기 위해 손가락을 움직이는 화면을 획득할 수 있다.The image acquiring unit 110 includes a camera capable of acquiring an image including a hand to perform an input interface in a non-contact manner. The image acquiring unit 110 acquires an image from the camera and transmits the acquired image to the motion recognizing unit 120. For example, the image acquiring unit 110 may include a front camera of a smart phone so that a user can acquire a screen for moving a finger to input a character according to a keyboard arrangement displayed on the screen.

동작인식부(120)는 영상획득부(110)를 통해 획득한 영상을 기반으로 손의 모양, 위치, 크기 및 속도 등의 변화 분석을 수행하고, 변화 분석에 따른 사용자의 입력 동작을 판단한다. 손 인식을 위해 동작인식부(120)에서는 미리 손 모양 정보를 사용자로부터 입력받을 수 있으며, 예컨대, 손 모양의 가이드를 사용자에게 제공하고 영상으로부터 추출된 윤곽선과 가이드가 일치하는 경우 해당 윤곽선을 손 윤곽선으로 인식할 수 있다. 이러한 동작인식부(120)에서 구체적으로 영상으로부터 손을 인식하여 입력 동작을 판단하는 과정은 도 3 내지 도 9를 참조하여 구체적으로 설명한다.The motion recognition unit 120 analyzes the change of the shape, position, size, and speed of the hand based on the image acquired through the image acquisition unit 110, and determines the input operation of the user according to the change analysis. For example, a hand-shaped guide may be provided to a user in advance by a motion recognition unit 120 for recognizing a hand, and the motion recognition unit 120 may provide a hand-shaped guide to a user. When the outline extracted from the image matches a guide, . The process of recognizing the hand from the image and determining the input operation by the motion recognition unit 120 will be described in detail with reference to FIG. 3 to FIG. 9. FIG.

제어부(130)는 동작인식부(120)로부터 입력 동작을 전달받으면, 수신된 입력 동작에 따라 사용자가 원하는 화면 조작을 수행할 수 있도록 표시부(140)에 디스플레이된 화면을 제어한다. 즉, 제어부(130)는 사용자의 입력 동작의 내용을 파악하여 문자 입력 제어 정보를 생성하고, 생성된 문자 입력 제어 정보에 따라 화면 제어 신호를 표시부(140)로 전송함으로써 표시부(140)에 디스플레이된 화면을 제어한다.When receiving the input operation from the operation recognition unit 120, the control unit 130 controls the screen displayed on the display unit 140 so that the user can perform a desired screen operation according to the received input operation. That is, the control unit 130 recognizes the content of the input operation of the user and generates character input control information, and transmits a screen control signal to the display unit 140 according to the generated character input control information, Control the screen.

또한, 제어부(130)는 텍스트 입력이 가능한 어플리케이션이 실행될 경우에 도 2에 도시된 바와 같이, 표시부(140)를 통해 텍스트 입력을 위한 문자, 숫자, 기호, 그래픽 및 아이콘 중 적어도 하나 이상이 일정한 배열로 표시되는 키보드 화면을 제공하고, 동작인식부(120)로부터 입력 동작을 전달받아, 키보드 화면을 통한 비접촉 텍스트 입력을 수행한다.2, at least one of letters, numbers, symbols, graphics, and icons for inputting text through the display unit 140 is arranged in a predetermined array (not shown) And receives the input operation from the operation recognition unit 120, and performs non-contact text input through the keyboard screen.

예컨대, 웹브라우저의 검색 입력창이 선택되거나 메신저와 같은 텍스트 입력이 가능한 어플리케이션이 실행될 경우, 제어부(130)는 자동으로 화면에 텍스트 입력을 위한 키보드 화면을 어플리케이션과 함께 오버레이하여 디스플레이하며, 동작인식부(120)는 손의 모양, 위치, 크기 및 속도 등의 변화를 통해 해당 키보드의 키가 터치되었음을 인식하고, 제어부(130)는 터치된 키보드의 키에 대응되는 텍스트가 표시부(140)를 통해 디스플레이되도록 제어한다.For example, when a search input window of a web browser is selected or an application capable of text input such as a messenger is executed, the control unit 130 automatically overlays and displays a keyboard screen for inputting text on the screen together with the application, The controller 130 recognizes that the key of the corresponding keyboard is touched through the change of the shape, position, size, and speed of the hand such that the text corresponding to the key of the touched keyboard is displayed through the display unit 140 .

표시부(140)는 사용자에게 제공될 다양한 화면을 표시하며, 제어부(130)로부터 수신된 화면 제어 신호에 따라 제어된 화면을 표시한다. 예를 들어, 도 2의 (d)에 도시된 바와 같이, 표시부(140)는 텍스트 입력이 가능한 어플리케이션이 실행될 경우 텍스트 입력을 위한 키보드 화면을 표시하고, 제어부(130)로부터 사용자가 비접촉으로 선택한 키보드의 키에 대응되는 텍스트가 입력되는 제어 신호를 수신하여 해당 텍스트를 표시한다.The display unit 140 displays various screens to be provided to the user and displays a controlled screen according to the screen control signal received from the control unit 130. [ For example, as shown in FIG. 2D, the display unit 140 displays a keyboard screen for text input when an application capable of text input is executed, Receives a control signal to which a text corresponding to a key of the key is input, and displays the corresponding text.

도 2는 본 발명의 일 실시예에 따른 손 인식 기반의 비접촉십 입력 인터페이스 제공 방법을 예시한 도면이다.2 is a diagram illustrating a method for providing a non-contact subscription interface based on hand recognition according to an embodiment of the present invention.

먼저, 도 2의 (a)와 같이 카메라 촬영을 통해 손을 인식한다. 손을 인식하기 위해 스마트폰에 내장된 전면 카메라가 이용될 수 있다. 손이 포함된 영상으로부터 손을 인식하기 위하여 도 2의 (b)와 같이 배경을 삭제한다. 배경이 삭제된 영상으로부터 손가락 끝을 인식하기 위한 알고리즘을 적용하여 손가락 끝을 인식하고(도 2의 (c)), 사용자의 손가락 끝점이 화면의 키보드 상 특정 위치에 위치하고 해당 문자의 입력을 위한 동작을 취하는 경우, 해당 텍스트를 표시하도록 하여 입력도구로 이용할 수 있다(도 2의 (d)).First, a hand is recognized through camera shooting as shown in FIG. 2 (a). A front camera built into the smartphone can be used to recognize the hand. The background is deleted as shown in FIG. 2 (b) in order to recognize the hand from the image containing the hand. The finger end is recognized by applying an algorithm for recognizing the finger end from the image in which the background is deleted (FIG. 2 (c)), and the user's finger end point is positioned at a specific position on the keyboard of the screen, The text can be displayed and used as an input tool (Fig. 2 (d)).

도 3은 본 발명의 일 실시예에 따른 손 인식 기반의 비접촉식 입력 인터페이스 제공 방법을 설명하기 위한 흐름도이다. 3 is a flowchart illustrating a method for providing a non-contact type input interface based on a hand recognition according to an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 이진화된 손 후보 영역을 예시한 도면이다.4 is a diagram illustrating a binarized hand candidate region according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따라 추출된 손 후보 영역의 윤곽선을 예시한 도면이다.5 is a view illustrating an outline of a hand candidate region extracted according to an embodiment of the present invention.

도 6은 본 발명 일 시시예에 따라 손 윤곽선을 검출하는 과정을 예시한 도면이다.6 is a diagram illustrating a process of detecting a hand contour according to an exemplary embodiment of the present invention.

이하, 도 3 내지 도 6을 참조하여, 구체적으로 손 인식 기반의 비접촉식 입력 인터페이스를 제공하기 위한 사용자의 입력 동작 인식 및 제어 방법을 설명한다.Hereinafter, a method for recognizing and controlling a user's input operation for providing a hand-recognition-based non-contact type input interface will be described with reference to FIGS. 3 to 6. FIG.

장치에 구비된 카메라로부터 손을 포함한 영상을 획득한다(S310). 이 때, 손 모양의 가이드를 화면에 위치시켜 사용자로 하여금 손이 가이드에 위치할 수 있도록 촬영하도록 요청하여 영상을 획득할 수 있다. 예컨대, 스마트폰과 같은 모바일 기기에 구비된 카메라로부터 영상을 획득한다. 카메라는 깊이 추정이 불가능한 일반적인 2차원 카메라일 수 있으며, 2차원 평면상의 데이터를 매 프레임마다 획득한다. 각 데이터들은 좌 상단부터 우 하단까지 매 프레임의 이미지를 이루는 각각의 픽셀 순으로 전달된다. 이 때, 영상은 RGB 색상 포맷이 아니라 밝기 정보 및 색차 정보를 포함하는 YUV 데이터 포맷으로 이루어진다. 또한, RGB 색상 포맷의 영상을 YUV 포맷으로 변환하여 이용할 수 있다. 여기서, YUV 데이터 포맷 데이터의 Y값은 해당 픽셀의 밝기 정보를 나타내며, U값은 푸른색의 색차 신호, V값은 붉은색의 색차 신호를 나타낸다.An image including a hand is acquired from a camera provided in the apparatus (S310). At this time, it is possible to place an image of the hand-shaped guide on the screen and request the user to photograph the hand so that the hand can be positioned on the guide, thereby acquiring the image. For example, an image is acquired from a camera provided in a mobile device such as a smart phone. The camera can be a general two-dimensional camera whose depth estimation is impossible, and acquires data on a two-dimensional plane every frame. Each data is transmitted in the order of each pixel forming the image of each frame from the upper left to the lower right. At this time, the image is not a RGB color format but a YUV data format including brightness information and color difference information. In addition, the image of the RGB color format can be converted into the YUV format and used. Here, the Y value of the YUV data format data indicates the brightness information of the pixel, the U value indicates a blue color difference signal, and the V value indicates a red color difference signal.

과정 S310에서 획득한 영상으로부터 손 후보 영역을 추출하고 이진화한다(S320). 손 후보 영역이란 영상의 색을 분석한 결과 피부색으로 추정되는 영역을 말하는 것으로, 영상에 손 이외의 다른 신체부위가 함께 포함되어 있는 경우에는 해당 부분도 손 후보 영역에 해당된다. 영상의 각 픽셀에 대한 U값 및 V값의 범위를 지정하여 영상으로부터 피부색으로 추정되는 픽셀을 추출하게 되며, U값 및 V값의 범위는 실험을 통하여 얻어진 값으로 지정될 수 있다. 추출된 손 후보 영역과 이외의 부분을 구분할 수 있도록, 추출된 결과를 이진화하여 표현한다. 도 4를 참조하면, 획득한 영상이 손과 얼굴을 모두 포함하는 경우에, 추출된 손 후보 영역을 이진화한 결과에는 얼굴과 손이 겹쳐 있어 정확하게 손만을 인식하기가 어려움을 알 수 있다. 따라서, 이를 구분하여 인식할 수 있도록 이하에서 설명하는 과정을 추가로 수행한다.In step S320, a hand candidate region is extracted from the acquired image and binarized. The hand candidate region refers to a region estimated to be skin color as a result of analyzing the color of an image. When a body portion other than a hand is included in the image, the corresponding portion also corresponds to the hand candidate region. A U value and a V value range for each pixel of the image are specified to extract a pixel estimated as a skin color from the image. The range of the U value and the V value can be designated as a value obtained through experiments. The extracted result is binarized so as to be able to distinguish the extracted hand candidate region from other regions. Referring to FIG. 4, when the acquired image includes both the hand and the face, it is difficult to correctly recognize the hand because the face and the hand overlap each other in the result of binarizing the extracted hand candidate region. Therefore, the following processes are additionally performed so that they can be distinguished and recognized.

다음으로, 이진화된 손 후보 영역의 윤곽선을 추출하고, 윤곽선으로부터 손 모양과 일치하는 손 윤곽선을 검출한다(S330). 과정 S330에서는 먼저 이진화된 손 후보 영역으로부터 손만을 인식하기 위해 전체 손 후보 영역에 대한 윤곽선을 추출한다. 윤곽선을 추출하기 위해서는 원본 영상(YUV 포맷의 영상)을 이용하며, 원본 영상에서 손 후보 영역의 픽셀에 대해서만 윤곽선을 추출함으로써, 모든 픽셀을 처리하는 것에 비해 데이터 연산량을 감소시킬 수 있다. 손 후보 영역에 대한 윤곽선을 추출하는 구체적인 과정은 도 7을 참조하여 설명한다. 도 5는 이와 같이 영상에서 피부색으로 추정된 손 후보 영역에서 윤곽선을 추출한 결과를 나타낸 것으로, 손과 얼굴을 구분하여 인식할 수 있음을 확인할 수 있다. Next, the contour of the binarized hand candidate region is extracted, and a hand contour corresponding to the hand shape is detected from the contour (S330). In step S330, the outline of the entire hand candidate region is extracted to recognize only the hand from the binarized hand candidate region. In order to extract the contour, the original image (YUV format image) is used, and the contour line is extracted only for the pixels of the hand candidate region in the original image, thereby reducing the amount of data operation compared to processing all the pixels. A detailed process of extracting contour lines for the hand candidate region will be described with reference to FIG. FIG. 5 shows the outline of the hand candidate region estimated from skin color in the image, and it can be recognized that the hand and face can be distinguished from each other.

손 후보 영역의 윤곽선이 추출되면 그로부터 손 모양의 가이드와 일치하는 부분을 판단하고, 일치하는 부분을 손의 윤곽선으로 검출한다. 미리 입력된 가이드는 점 또는 선으로 구성된 데이터들의 집합으로 구성되며, 이를 추출된 손 후보 영역의 윤곽선과 비교하여 일치율이 높은 부분을 손 윤곽선으로 판단한다. 도 6을 참조하면, 빨간색이 가이드에 대한 데이터를 나타낸다. 이진화 영상의 경우, 예컨대, 윤곽선은 1의 값을 갖고 윤곽선이 아닌 부분은 0의 값을 갖는다. 가이드 데이터의 0인 부분과 손 후보 영역 윤곽선의 0인 부분과의 일치율을 연산하여 가장 높은 일치율을 나타내는 부분을 손이라고 판단하고, 가이드 데이터의 1인 부분과 일치하는 손 후보 영역 윤곽선의 1인 부분에 대해 손 윤곽선이라고 판단할 수 있다. 여기서도, 윤곽선 바깥에서 0인 부분은 손 내부 영역이라 할 수 없으므로, 윤곽선 바깥은 제외하고 윤곽선 내부에서 0의 값을 갖는 부분과의 일치율을 연산하여 데이터 연산량을 줄일 수 있다.When the contour of the hand candidate region is extracted, the portion corresponding to the hand-shaped guide is determined, and the matching portion is detected as the contour of the hand. The previously input guide is composed of a set of data composed of points or lines, which is compared with the contour of the extracted hand candidate region, and a portion with a high matching rate is determined as a hand contour. Referring to FIG. 6, red represents data for the guide. In the case of a binarized image, for example, a contour line has a value of 1 and a non-contour line has a value of 0. The portion of 0% of the guide data and the portion of 0% of the contour of the hand candidate region are calculated, and the portion indicating the highest matching ratio is determined as a hand, and a portion of the hand candidate region contour It can be judged as a hand contour line. Here, since the portion outside the contour line is not an area within the hand, it is possible to reduce the amount of data calculation by calculating the matching rate with the portion having a value of 0 within the contour line, excluding the contour line.

검출된 손 윤곽선으로부터 손가락 끝점을 결정한다(S340). 손 모양 가이드의 데이터에서 손가락 끝점에 해당 하는 부분에는 손가락 끝점임을 나타내는 인덱스를 표시하고, 인덱스의 위치와 일치하는 손 윤곽선의 좌표를 손가락 끝점으로 결정한다. 예컨대, 가이드 데이터에서 손가락 끝점에 해당하는 부분에 대해서는 0과 1 이외의 다른 숫자를 이용하여 표시해두는 방식으로 인덱스를 표시할 수 있다. A finger end point is determined from the detected hand contour (S340). In the data of the hand shape guide, an index indicating a finger end point is displayed in a portion corresponding to a finger end point, and a coordinate of a hand outline coinciding with the position of the index is determined as a finger end point. For example, an index can be displayed in a manner that a portion corresponding to the fingertip in the guide data is displayed using a number other than 0 and 1.

결정된 손가락 끝점을 이용해 사용자의 입력을 판단한다(S350). 손 윤곽선이 검출되고 손가락 끝점이 결정되면, 영상에서 손이 움직이는 경우에 손 모양을 따라 지속적으로 윤곽선 및 손가락 끝점을 추적한다. 손 윤곽선에서 손가락 모양의 곡선의 변화를 지속적으로 추적하고, 변화를 통해 손가락이 굽혀졌음을 판단하면 해당 부분에 입력 동작이 있다고 판단한다. 예컨대, 화면에 문자가 배열된 키보드가 표시되고, 손 윤곽선에서 특정 손가락 곡선의 크기가 일정 수치 이상 줄어들게 되면 해당 손가락이 굽혀지는 동작이 발생하여 해당 손가락의 끝점에 위치하는 문자에 대해 입력이 이루어지고 있다고 판단할 수 있다.The user's input is determined using the determined finger end point (S350). When the hand contour is detected and the fingertip point is determined, the contour and fingertip are continuously tracked along the hand shape when the hand moves in the image. The change of the finger curve is continuously tracked in the contour of the hand, and when it is judged that the finger is bent through the change, it is judged that there is an input operation in the corresponding part. For example, when a keyboard on which characters are arranged is displayed on the screen and the size of a specific finger curve is reduced by a predetermined value or more on a hand contour line, an operation of bending the finger occurs and an input is made to the character positioned at the end point of the finger .

과정 S350에서 사용자의 입력 동작이 발생하였는지를 판단하는 과정은 다음과 같다. In step S350, a process for determining whether a user's input operation has occurred is as follows.

먼저, 검출된 손 윤곽선의 픽셀 좌표의 평균을 구하여 무게중심을 구한다.First, the center of gravity is obtained by averaging the pixel coordinates of the detected hand contour.

다음으로, 계산된 무게중심과 각 손가락 끝점 간의 거리를 산출한다. 엄지부터 새끼 손가락까지 다섯 손가락 각각의 끝점까지의 거리를 L1 내지 L5라 한다. 이 때, 손가락을 굽혀 입력 동작을 취하게 되면 영상에서 해당 손가락 위치에서 피부색으로 추정되는 영역이 줄어들게 되며, 이진화되어 표현되는 손 윤곽선에서는 해당 손가락의 길이가 짧아지는 것과 같이 인식되므로 L1 내지 L5에 변화가 생기게 된다. Next, the distance between the calculated center of gravity and each finger end point is calculated. The distance from the thumb to the small finger to the end point of each of the five fingers is referred to as L1 to L5. In this case, when the finger is bent and the input operation is performed, the region estimated from the finger position to the skin color is reduced in the image. In the hand contour represented by binarization, the length of the finger is recognized as being shortened, .

L1 내지 L5의 변화를 판단하여 손의 움직임에 따른 거리의 변화가 가장 큰 지점에 대해 사용자의 입력 동작이 발생하였다고 판단할 수 있다. 예컨대 L1, L2, L4, L5의 변화가 일정한데 L3의 변화가 이들 변화보다 크다면 가운데 손가락의 끝점이 위치하는 문자에 대한 입력 동작이 이루어졌음을 판단할 수 있다. 손가락을 움직일 때, 엄지와 검지는 다른 손가락을 움직이지 않고도 움직일 수 있으나, 나머지 손가락은 반사적으로 다른 손가락의 움직임을 수반한다. 따라서, 모든 손가락 끝점까지의 거리를 비교하고 가장 움직임이 큰 손가락에 대해서, 즉, 손가락 끝점까지의 거리의 변화가 가장 큰 손가락에 대해서 입력 동작이 발생했다고 판단한다.It is possible to judge that the input operation of the user has occurred with respect to the point where the change of the distance according to the motion of the hand is greatest by judging the change of L1 to L5. For example, if the change of L1, L2, L4, and L5 is constant and the change of L3 is larger than these changes, it can be determined that the input operation has been performed on the character where the end point of the middle finger is located. When you move your fingers, your thumb and index finger can move without moving the other finger, but the other fingers are accompanied by the movement of the other finger reflexively. Therefore, it is determined that the input operation has occurred to the finger having the largest change in the distance from the finger with the greatest motion, that is, the finger to the finger end, by comparing the distances to all finger end points.

도 7은 본 발명의 일 실시예에 따른 손 윤곽선 추출 방법을 설명하기 위한 흐름도이다.FIG. 7 is a flowchart illustrating a hand outline extraction method according to an embodiment of the present invention.

도 8은 입력 영상의 데이터를 이루는 픽셀들을 예시한 도면이다.8 is a diagram illustrating pixels forming data of an input image.

도 9는 입력 영상의 YUV 데이터 포맷을 예시한 도면이다.9 is a diagram illustrating a YUV data format of an input image.

이하에서는 도 7 내지 도 9를 참조하여, 손 후보 영역으로부터 윤곽선을 검출하고, 검출된 윤곽선으로부터 손모양과 일치하는 손의 윤곽선을 검출하는 방법에 대해 구체적으로 설명한다.Hereinafter, with reference to Figs. 7 to 9, a method of detecting a contour line from a hand candidate region and detecting a contour line of a hand corresponding to the hand contour line from the detected contour line will be described in detail.

도 8을 참조하면, 획득한 영상의 한 프레임은 좌 상단부터 우 하단까지의 순서대로 데이터가 전달된다. 도면에는 이러한 순서를 0부터 순차로 증가하는 숫자로 표시하였다. 이러한 프레임은 도 9와 같이 밝기 정보 및 색차 정보를 나타내는 YUV 포맷으로 이루어진다. YUV 포맷은 해당 픽셀 크기만큼의 Y값을 가지고 있으며 인접한 정사각형을 이루는 4개의 픽셀은 하나의 U값 및 V값을 공유하여 이 조합으로 서로 다른 색들을 만들어 낸다.Referring to FIG. 8, one frame of the acquired image is transferred in order from the top left to the bottom right. In the figure, this order is indicated by a number increasing sequentially from 0. Such a frame is composed of a YUV format indicating brightness information and color difference information as shown in FIG. The YUV format has Y values of the corresponding pixel size, and the four pixels forming the adjacent squares share a U value and a V value to produce different colors in this combination.

먼저 피부색으로 추정되는 부분을 추출하기 위하여 현재 픽셀(n번째 픽셀)의 U값 및 V값이 지정된 범위를 만족하는지 판단한다(S710). U값과 V값은 색상에 관한 정보로써 각각 청색신호 성분 간의 차이, 적색신호 성분의 차이를 의미하며, 해당 성분의 범위를 지정하여 사람의 피부색과 유사한 부분을 도출 해 낼 수 있다. 이러한 범위는 실험을 통해 정해지는 값이며, 예컨대, 모바일 기기의 카메라로 받은 byte 배열 데이터들을 JAVA에서 0xff에 '&' 연산한 뒤 정수형 데이터로 바꾼 값을 기준으로, 105<U<13, V>130의 범위를 지정하여 피부색을 추출할 수 있다. V값(적색신호)이 클수록 붉은색에 가까운 색을 의미하지만, U값을 제한함에 있어서 어느 정도 데이터를 선별해 낼 수 있으며 인간의 피부색이 생각보다 붉은 부분이 많아 더 정확하게 피부색을 추출할 수 있기 때문에 V값에 상한을 두지 않는다. 붉은 물체가 배경으로 존재할 때에도 이하에서의 처리 과정을 거쳐 윤곽선을 추출할 수 있다.First, it is determined whether the U value and the V value of the current pixel (nth pixel) satisfy the specified range in order to extract a portion estimated to be a skin color (S710). The U value and the V value are color information, which means the difference between the blue signal components and the red signal components, respectively, and a range similar to a human skin color can be derived by designating a range of the corresponding component. For example, if the byte array data received from the camera of the mobile device is '&' calculated at 0xff in JAVA and 105 <U <13, V> 130 can be specified to extract the skin color. The larger the V value (red signal), the closer the color to the red color. However, in limiting the U value, the data can be selected to some extent. Since human skin color is more redder than thought, Therefore, no upper limit is placed on the V value. Even when a red object exists as a background, the outline can be extracted through the following processing.

현재 픽셀의 U값(Un)과 V값(Vn)이 범위를 만족하면, 다음 픽셀(n+1번째 픽셀)과의 U값(Un+1) 또는 V값(Vn+1)과의 차를 구해 특정 수치 du, dv 이상인지 판단한다(S720). 여기서, du 및 dv는 실험에 의해 정해진 값이다. 현재 픽셀과 다음 픽셀의 U값의 차(Un+1-Un) 또는 V값의 차(Vn+1-Vn)가 du 또는 dv 이상이면, 색이 크게 변한 것을 의미하므로 해당 픽셀에서 물체가 바뀐 것으로 간주하고 n번째 픽셀을 윤곽선으로 결정한다(S730).When the U value U n and the V value V n of the current pixel satisfy the range, the U value U n + 1 or the V value V n + 1 with the next pixel (n + 1 th pixel) And determines whether the difference is equal to or greater than a specific value du or dv (S720). Here, du and dv are values determined by experiments. If the difference (U n + 1 -U n ) or the difference (V n + 1 -V n ) between the U value of the current pixel and the next pixel is du or dv or more, It is determined that the object is changed and the n-th pixel is determined as the outline (S730).

과정 S720에서 U값 또는 V값의 차이가 모두 du, dv보다 작은 것으로 판단되면, 현재 픽셀과 이전 픽셀(n-1번째 픽셀)의 U값의 차(Un-Un-1), V값의 차(Vn-Vn-1) 또는 Y값의 차(Yn-Yn-1)를 du, dv, dy와 비교한다(S740). 현재 픽셀과 다음 픽셀의 U값의 차 및 V값의 차가 du 및 dv보다 작으면, 이 경우는 물체가 바뀌지 않았거나 혹은 식별이 불가능한 경우일 수 있다. 이 때 해당 픽셀과 바로 이전 픽셀간의 Y값(Yn-1), U값(Un-1) 또는 V(Vn-1) 값의 차가, du, dv 또는 dy 이상인지를 판단한다. 여기서, dy도 실험에 의해 정해진 값이다. If it is determined in step S720 that the difference between the U value and the V value is smaller than du and dv, the difference (U n -U n-1 ) between the current pixel and the U value of the previous pixel (n-1th pixel) (V n -V n-1 ) or the difference in Y value (Y n -Y n-1 ) with du, dv, and dy (S740). If the difference between the U value of the current pixel and the next pixel and the difference of the V value is less than du and dv, this case may be the case where the object has not changed or is not identifiable. At this time, it is determined whether the difference between the Y value (Y n-1 ), the U value (U n-1 ), or the V (V n-1 ) value between the pixel and the immediately preceding pixel is more than du, dv or dy. Here, dy is a value determined by experiments.

만일 현재 픽셀과 이전 픽셀의 Y값, U값, V값의 차이 중 어느 하나라도 du, dv, dy 이상이면, 이전 픽셀의 YUV값에 대해 소벨 마스크를 적용한다(S750). If any one of the difference between the Y value, the U value and the V value of the current pixel and the previous pixel is more than du, dv, and dy, the Sobel mask is applied to the YUV value of the previous pixel (S750).

소벨 마스크를 적용한 결과값을 SYn-1, SUn-1, SVn-1이라고 하였을 때 SYn-1, SUn-1 또는 SVn-1가 특정 수치인 sy, su, sv보다 크다면, n-1번째 픽셀을 윤곽선으로 결정한다(S770). 여기서 sy, su, sv도 실험에 의해 정해진 값에 해당한다.If the result of applying the Sobel mask is SY n-1 , SU n-1 , SV n-1 and SY n-1 , SU n-1 or SV n-1 is larger than the specified values sy, , the (n-1) th pixel is determined as a contour line (S770). Here, sy, su, and sv correspond to the values determined by the experiment.

위와 같은 과정을 전체 픽셀에 대해 반복하여 영상으로부터 윤곽선을 추출해낼 수 있다.The above process can be repeated for all the pixels to extract the contour line from the image.

U값 및 V값이, U=V=128 혹은 이 부근일 때는 밝기가 아주 밝거나 아주 어두워서, 즉 Y값이 최솟값을 가지거나 최댓값을 가져서 식별이 불가능한 부분이다. 이 때는 식별이 가능한 픽셀이 나올 때까지 검사를 하지 않으며, 식별이 불가능했던 픽셀 바로 이전 픽셀과 현재 식별 가능한 픽셀간의 검사를 진행한다.When the U and V values are U = V = 128 or near, the brightness is very bright or very dark, that is, the part where the Y value has the minimum value or has the maximum value and can not be identified. In this case, the test is not performed until an identifiable pixel is found, and a check is made between the immediately preceding pixel and the presently identifiable pixel, which were not identifiable.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present embodiment, and various modifications and changes may be made to those skilled in the art without departing from the essential characteristics of the embodiments. Therefore, the present embodiments are to be construed as illustrative rather than restrictive, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment should be construed according to the following claims, and all technical ideas within the scope of equivalents thereof should be construed as being included in the scope of the present invention.

전술한 바와 같이, 도 3 및 도 7에 기재된 손 인식 기반 비접촉식 입력 인터페이스 제공 방법 및 손 윤곽선 추출 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 발명의 일 실시예에 따른 유사 수학문제 검색방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.As described above, the hand recognition-based non-contact input interface providing method and hand outline extraction method described in FIGS. 3 and 7 can be implemented by a program and recorded in a computer-readable recording medium. A program for implementing a similar mathematical problem retrieval method according to an embodiment of the present invention is recorded, and a computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. The computer readable recording medium may also be distributed over a networked computer system so that computer readable code is stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present embodiment can be easily inferred by programmers in the technical field to which the present embodiment belongs.

100: 비접촉식 입력 인터페이스 제공 장치100: Non-contact input interface providing device

Claims (8)

카메라를 이용하여 사용자의 손을 포함한 영상을 얻는 과정;
상기 영상에서 사람의 피부색으로 판단되는 영역인 손 후보 영역을 추출하고 이진화하는 과정;
이진화된 손 후보 영역의 윤곽선을 추출하고, 상기 윤곽선으로부터 손 모양과 일치하는 손 윤곽선을 검출하는 과정;
상기 손 윤곽선으로부터 손가락 끝점을 결정하는 과정; 및
상기 손가락 끝점을 이용해 사용자의 입력 동작을 판단하는 과정
을 포함하는 비접촉식 입력 인터페이스 제공 방법.
A process of obtaining an image including a user's hand using a camera;
Extracting and binarizing a hand candidate region which is an area judged to be a human skin color in the image;
Extracting a contour of the binarized hand candidate region and detecting a hand contour line that matches the contour line;
Determining a fingertip point from the hand contour; And
The process of determining the input operation of the user using the fingertip
The method comprising the steps of:
제 1항에 있어서,
상기 영상은 밝기 정보 및 색차 정보를 포함하는 YUV 데이터 포맷으로 이루어진 것을 특징으로 하는 비접촉식 입력 인터페이스 제공 방법.
The method according to claim 1,
Wherein the image comprises a YUV data format including brightness information and color difference information.
제 2항에 있어서,
상기 손 후보 영역을 추출하고 이진화하는 과정은,
U 및 V 값의 범위를 지정하여 상기 영상으로부터 사람의 피부색과 유사한 부분을 상기 손 후보 영역으로 추출하는 것을 특징으로 하는 비접촉식 입력 인터페이스 제공 방법.
3. The method of claim 2,
Extracting the hand candidate region and binarizing the hand candidate region,
And a range of U and V values is specified to extract a portion similar to a human skin color from the image to the hand candidate region.
제 2항에 있어서,
상기 손 윤곽선을 검출하는 과정은,
상기 영상의 현재 픽셀과 다음 픽셀의 U 또는 V 값의 차이가 기설정된 값 이상이면, 상기 현재 픽셀을 윤곽선으로 설정하는 과정; 및
상기 현재 픽셀과 상기 다음 픽셀의 U 또는 V 값의 차이가 기설정된 값 이하이면, 상기 현재 픽셀과 이전 픽셀의 U, V 또는 Y 값을 비교하여 기설정된 값 이상인 경우 상기 이전 픽셀에 소벨 마스크(sobel mask)를 적용하여 윤곽선을 설정하는 과정
을 포함하는 것을 특징으로 하는 비접촉식 입력 인터페이스 제공 방법.
3. The method of claim 2,
The step of detecting the hand contour includes:
Setting the current pixel as a contour if the difference between the current pixel of the image and the U or V value of the next pixel is greater than a predetermined value; And
If the difference between the U or V value of the current pixel and the next pixel is equal to or less than a preset value, the U, V, or Y value of the current pixel is compared with the previous pixel, mask) to set the outline
The method comprising the steps of:
제 1항에 있어서,
상기 손가락 끝점을 결정하는 과정은,
상기 손 모양에 손가락 끝부분을 나타내는 인덱스를 표시하고, 상기 인덱스의 위치와 일치하는 상기 손 윤곽선의 좌표를 상기 손가락 끝점으로 결정하는 것을 특징으로 하는
The method according to claim 1,
Wherein the step of determining the fingertip point comprises:
Wherein an index indicating a fingertip portion is displayed in the hand shape and a coordinate of the hand contour line coinciding with the position of the index is determined as the finger end point
제 1항에 있어서,
상기 사용자의 입력 동작을 판단하는 과정은,
상기 손 윤곽선의 픽셀 좌표의 평균을 구하여 무게중심을 구하는 과정;
상기 무게중심과 각 손가락 끝점 간의 거리를 산출하는 과정; 및
상기 무게중심과 각 손가락 끝점 간의 거리의 변화가 가장 큰 지점에 대해 사용자의 입력 동작이 발생하였다고 판단하는 과정
을 포함하는 비접촉식 입력 인터페이스 제공 방법.
The method according to claim 1,
Wherein the step of determining the input operation of the user comprises:
Calculating an average of pixel coordinates of the hand contour line to obtain a center of gravity;
Calculating a distance between the center of gravity and each finger end point; And
A step of determining that a user's input operation has occurred with respect to a point where a change in the distance between the center of gravity and the fingertip point is largest,
The method comprising the steps of:
표시부;
카메라를 이용하여 사용자의 손을 포함한 영상을 획득하는 영상획득부;
상기 영상으로부터 상기 손을 인식하여 사용자의 입력 동작을 판단하는 동작인식부; 및
상기 사용자의 입력 동작을 전달받아, 문자 입력 제어 정보를 생성하고 화면 제어를 수행하는 제어부
를 포함하고,
상기 동작인식부는,
상기 영상에서 사람의 피부색으로 판단되는 영역인 손 후보 영역을 추출하고 이진화하고, 이진화된 손 후보 영역의 윤곽선을 추출하여, 상기 윤곽선으로부터 손 모양과 일치하는 손 윤곽선을 검출하여 손가락 끝점을 결정하고, 상기 손가락 끝점을 이용해 상기 사용자의 입력 동작을 판단하는 것을 특징으로 하는 비접촉식 입력 인터페이스 장치.
A display section;
An image acquisition unit for acquiring an image including a user's hand using a camera;
An operation recognition unit for recognizing the hand from the image and determining an input operation of the user; And
A control unit for receiving the input operation of the user and generating character input control information and performing screen control;
Lt; / RTI &gt;
Wherein the motion recognition unit comprises:
Extracting and binarizing a hand candidate region, which is an area judged by human skin color in the image, extracting a contour line of the binarized hand candidate region, determining a finger end point by detecting a hand contour line corresponding to the hand shape from the contour line, Wherein the input operation of the user is determined using the finger end point.
프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어들을 포함하는 컴퓨터 판독 가능한 기록매체에 기록된 시나리오 생성을 위한 컴퓨터 프로그램으로서, 컴퓨팅 장치의 프로세서에 의해 실행되는 경우에 컴퓨팅 장치로 하여금,
카메라를 이용하여 사용자의 손을 포함한 영상을 얻는 과정;
상기 영상에서 사람의 피부색으로 판단되는 영역인 손 후보 영역을 추출하고 이진화하는 과정;
이진화된 손 후보 영역의 윤곽선을 추출하고, 상기 윤곽선으로부터 손 모양과 일치하는 손 윤곽선을 검출하는 과정;
상기 손 윤곽선으로부터 손가락 끝점을 결정하는 과정; 및
상기 손가락 끝점을 이용해 사용자의 입력 동작을 판단하는 과정
을 수행하도록 하는 명령어들을 포함하는 컴퓨터 프로그램.
A computer program for creating a scenario recorded on a computer-readable recording medium including computer program instructions executable by a processor, the computer program causing a computing device, when executed by a processor of the computing device,
A process of obtaining an image including a user's hand using a camera;
Extracting and binarizing a hand candidate region which is an area judged to be a human skin color in the image;
Extracting a contour of the binarized hand candidate region and detecting a hand contour line that matches the contour line;
Determining a fingertip point from the hand contour; And
The process of determining the input operation of the user using the fingertip
The computer program product comprising:
KR1020170169360A 2017-12-11 2017-12-11 Method of Providing Touchless Input Interface Based on Hand Recognition and The Apparatus Applied Thereto Ceased KR20190069023A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170169360A KR20190069023A (en) 2017-12-11 2017-12-11 Method of Providing Touchless Input Interface Based on Hand Recognition and The Apparatus Applied Thereto

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170169360A KR20190069023A (en) 2017-12-11 2017-12-11 Method of Providing Touchless Input Interface Based on Hand Recognition and The Apparatus Applied Thereto

Publications (1)

Publication Number Publication Date
KR20190069023A true KR20190069023A (en) 2019-06-19

Family

ID=67104647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170169360A Ceased KR20190069023A (en) 2017-12-11 2017-12-11 Method of Providing Touchless Input Interface Based on Hand Recognition and The Apparatus Applied Thereto

Country Status (1)

Country Link
KR (1) KR20190069023A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376665B1 (en) * 2020-09-28 2022-03-22 한국생산기술연구원 Apparatus and method for performing non-contact recognition using opaque materials
WO2024122999A1 (en) * 2022-12-07 2024-06-13 삼성전자주식회사 Electronic device and method for identifying user input in virtual space

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376665B1 (en) * 2020-09-28 2022-03-22 한국생산기술연구원 Apparatus and method for performing non-contact recognition using opaque materials
WO2024122999A1 (en) * 2022-12-07 2024-06-13 삼성전자주식회사 Electronic device and method for identifying user input in virtual space

Similar Documents

Publication Publication Date Title
US10019074B2 (en) Touchless input
US9405182B2 (en) Image processing device and image processing method
US9760214B2 (en) Method and apparatus for data entry input
US8902198B1 (en) Feature tracking for device input
US10452206B2 (en) Projection video display device and video display method
US9507437B2 (en) Algorithms, software and an interaction system that support the operation of an on the fly mouse
KR102347248B1 (en) Method and apparatus for recognizing touch gesture
US9430039B2 (en) Apparatus for controlling virtual mouse based on hand motion and method thereof
JP6349800B2 (en) Gesture recognition device and method for controlling gesture recognition device
CN108027656B (en) Input device, input method, and program
KR102052449B1 (en) System for virtual mouse and method therefor
US20160370865A1 (en) Operation Input Device, Operation Input Method, and Program
US20150277570A1 (en) Providing Onscreen Visualizations of Gesture Movements
JP6651388B2 (en) Gesture modeling device, gesture modeling method, program for gesture modeling system, and gesture modeling system
US20230061557A1 (en) Electronic device and program
CN105242776A (en) Control method for intelligent glasses and intelligent glasses
US9529446B2 (en) Re-anchorable virtual panel in three-dimensional space
Hartanto et al. Real time hand gesture movements tracking and recognizing system
US20150138088A1 (en) Apparatus and Method for Recognizing Spatial Gesture
KR20190069023A (en) Method of Providing Touchless Input Interface Based on Hand Recognition and The Apparatus Applied Thereto
KR101167784B1 (en) A method for recognizing pointers and a method for recognizing control commands, based on finger motions on the back of the portable information terminal
Posner et al. A single camera based floating virtual keyboard with improved touch detection
KR20100075282A (en) Wireless apparatus and method for space touch sensing and screen apparatus using depth sensor
JP2015184906A (en) Skin color detection condition determination device, skin color detection condition determination method, and computer program for skin color detection condition determination
KR20160023417A (en) Non-contact multi touch recognition method and system using color image analysis

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20171211

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20190321

Patent event code: PE09021S01D

PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20190911

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20190321

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I