KR20230114686A - Electronic device and method for user's hands determination in the video - Google Patents
Electronic device and method for user's hands determination in the video Download PDFInfo
- Publication number
- KR20230114686A KR20230114686A KR1020220108652A KR20220108652A KR20230114686A KR 20230114686 A KR20230114686 A KR 20230114686A KR 1020220108652 A KR1020220108652 A KR 1020220108652A KR 20220108652 A KR20220108652 A KR 20220108652A KR 20230114686 A KR20230114686 A KR 20230114686A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- hand
- electronic device
- trajectory
- movement
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/62—Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
전자 장치가 비디오 내에서 사용자의 손을 결정하는 방법이 제공된다. 상기 방법은, 카메라를 이용하여 복수의 프레임들을 포함하는 비디오를 획득하는 단계; 상기 비디오의 프레임들을 이용하여 상기 카메라의 시야(Field of View; FoV)의 이동을 나타내는 시야 궤적을 추정하는 단계; 상기 비디오의 프레임들 각각 내에서, 하나 이상의 객체의 특징점들을 검출하는 단계; 상기 하나 이상의 객체의 특징점들에 기초하여, 상기 하나 이상의 객체의 이동을 나타내는 객체 궤적을 추정하는 단계; 상기 카메라의 시야 궤적 및 상기 객체 궤적에 기초하여, 상기 하나 이상의 객체 중에서 사용자의 손 후보를 결정하는 단계; 상기 사용자의 머리의 움직임을 나타내는 머리 움직임 궤적을 획득하는 단계; 상기 사용자의 손 후보에 대응하는 상기 객체 궤적 및 상기 머리 움직임 궤적에 기초하여, 사용자의 손을 결정하는 단계; 및 상기 비디오 내에서 상기 결정된 사용자의 손을 추적하고 제스처를 인식하는 단계를 포함할 수 있다.A method for an electronic device to determine a user's hand within a video is provided. The method includes obtaining a video including a plurality of frames using a camera; estimating a field of view trajectory representing movement of a field of view (FoV) of the camera using frames of the video; detecting feature points of one or more objects within each of the frames of the video; estimating an object trajectory indicating a movement of the one or more objects based on feature points of the one or more objects; determining a hand candidate of the user from among the one or more objects, based on the trajectory of the camera's view and the trajectory of the object; obtaining a head movement trajectory indicating a movement of the user's head; determining a user's hand based on the object trajectory and the head movement trajectory corresponding to the hand candidate of the user; and tracking a hand of the determined user within the video and recognizing a gesture.
Description
비디오 내에서 사용자의 손을 결정하여 제스처를 인식하는, 전자 장치 및 그 동작 방법이 제공된다.Provided are an electronic device and an operating method thereof for recognizing a gesture by determining a user's hand in a video.
전자 장치의 조작을 위한 인터랙션의 일 방법으로써, 제스처 인식을 이용한 제어 기능이 제공되고 있다. 전자 장치는 이미지 및/또는 비디오 내에서 손을 추적하고, 제스처를 인식하며, 인식된 제스처에 대응하는 제어 동작을 수행한다. 전자 장치가 제스처 인식을 수행하는 경우, 전자 장치를 제어하고자 하는 사용자 외에 다른 사람의 손에 의한 제스처가 인식되는 경우가 발생할 수 있다.As a method of interaction for manipulating an electronic device, a control function using gesture recognition is provided. The electronic device tracks hands within images and/or videos, recognizes gestures, and performs control actions corresponding to recognized gestures. When an electronic device performs gesture recognition, a gesture by a hand of a person other than the user who wants to control the electronic device may be recognized.
제스처 인식을 통한 사용자 인터랙션 제공 방법에 있어서, 이미지 및/또는 비디오 내에 존재하는 다른 사람의 손에 영향을 받지 않고, 사용자의 손을 정확하게 결정하여 제스처 인식을 수행하기 위한 방법을 제시하고자 한다.In a method for providing user interaction through gesture recognition, a method for performing gesture recognition by accurately determining a user's hand without being affected by another person's hand existing in an image and/or video is proposed.
본 개시에서 이루고자 하는 기술적 과제는, 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problem to be achieved in the present disclosure is not limited to those mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below. will be.
본 개시의 일 측면에 따르면, 전자 장치가 비디오 내에서 사용자의 손을 결정하는 방법이 제공될 수 있다. 상기 방법은, 카메라를 이용하여 복수의 프레임들을 포함하는 비디오를 획득하는 단계를 포함할 수 있다. 상기 방법은, 비디오의 프레임들을 이용하여 상기 카메라의 시야(Field of View; FoV)의 이동을 나타내는 시야 궤적을 추정하는 단계를 포함할 수 있다. 상기 방법은, 상기 비디오의 프레임들 각각 내에서, 하나 이상의 객체의 특징점들을 검출하는 단계를 포함할 수 있다. 상기 방법은, 상기 하나 이상의 객체의 특징점들에 기초하여, 상기 하나 이상의 객체의 이동을 나타내는 객체 궤적을 추정하는 단계를 포함할 수 있다. 상기 방법은, 상기 카메라의 시야 궤적 및 상기 객체 궤적에 기초하여, 상기 하나 이상의 객체 중에서 사용자의 손 후보를 결정하는 단계를 포함할 수 있다. 상기 방법은, 상기 사용자의 머리의 움직임을 나타내는 머리 움직임 궤적을 획득하는 단계를 포함할 수 있다. 상기 방법은, 상기 사용자의 손 후보에 대응하는 상기 객체 궤적 및 상기 머리 움직임 궤적에 기초하여, 사용자의 손을 결정하는 단계를 포함할 수 있다. 상기 방법은, 상기 비디오 내에서 상기 결정된 사용자의 손을 추적하고 제스처를 인식하는 단계를 포함할 수 있다.According to one aspect of the present disclosure, a method for determining a user's hand in a video by an electronic device may be provided. The method may include acquiring a video including a plurality of frames using a camera. The method may include estimating a field of view trajectory representing movement of a field of view (FoV) of the camera using frames of video. The method may include detecting feature points of one or more objects within each of the frames of the video. The method may include estimating an object trajectory indicating a movement of the one or more objects based on feature points of the one or more objects. The method may include determining a hand candidate of the user from among the one or more objects based on the camera's field of view trajectory and the object trajectory. The method may include acquiring a head movement trajectory indicating a movement of the user's head. The method may include determining the hand of the user based on the object trajectory and the head movement trajectory corresponding to the hand candidate of the user. The method may include tracking a hand and recognizing a gesture of the determined user within the video.
본 개시의 일 측면에 따르면, 비디오 내에서 사용자의 손을 결정하는 전자 장치가 제공될 수 있다. 상기 전자 장치는, 통신 인터페이스, 카메라, 하나 이상의 인스트럭션을 저장하도록 구성된 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함할 수 있다. 프로세서는, 상기 하나 이상의 인스트럭션이 실행될 시, 카메라를 이용하여 복수의 프레임들을 포함하는 비디오를 획득하도록 설정될 수 있다. 프로세서는, 상기 하나 이상의 인스트럭션이 실행될 시, 상기 비디오의 프레임들을 이용하여 상기 카메라의 시야(Field of View; FoV) 궤적을 추정하도록 설정될 수 있다. 프로세서는, 상기 하나 이상의 인스트럭션이 실행될 시, 상기 비디오의 프레임들 각각 내에서, 하나 이상의 객체의 특징점들을 검출하도록 설정될 수 있다. 프로세서는, 상기 하나 이상의 인스트럭션이 실행될 시, 상기 하나 이상의 객체의 특징점들에 기초하여, 객체 궤적을 추정하도록 설정될 수 있다. 프로세서는, 상기 하나 이상의 인스트럭션이 실행될 시, 상기 카메라의 시야 궤적 및 상기 객체 궤적에 기초하여, 상기 하나 이상의 객체 중에서 사용자의 손 후보를 결정하도록 설정될 수 있다. 프로세서는, 상기 하나 이상의 인스트럭션이 실행될 시, 상기 사용자의 머리 움직임 궤적을 획득하도록 설정될 수 있다. 프로세서는, 상기 하나 이상의 인스트럭션이 실행될 시, 상기 사용자의 손 후보에 대응하는 상기 객체 궤적 및 상기 사용자의 머리 움직임 궤적에 기초하여, 사용자의 손을 결정하도록 설정될 수 있다. 프로세서는, 상기 하나 이상의 인스트럭션이 실행될 시, 상기 비디오 내에서 상기 결정된 사용자의 손을 추적하고 제스처를 인식하도록 설정될 수 있다.According to one aspect of the present disclosure, an electronic device for determining a user's hand in a video may be provided. The electronic device may include a communication interface, a camera, a memory configured to store one or more instructions, and a processor to execute the one or more instructions stored in the memory. The processor, when the one or more instructions are executed, may be configured to obtain a video comprising a plurality of frames using a camera. When the one or more instructions are executed, the processor may be configured to estimate a field of view (FoV) trajectory of the camera using frames of the video. When the one or more instructions are executed, the processor may be configured to detect feature points of one or more objects within each of the frames of the video. When the one or more instructions are executed, the processor may be configured to estimate an object trajectory based on feature points of the one or more objects. When the one or more instructions are executed, the processor may be configured to determine a hand candidate of the user from among the one or more objects based on the trajectory of the camera's field of view and the trajectory of the object. The processor may be configured to obtain a head movement trajectory of the user when the one or more instructions are executed. When the one or more instructions are executed, the processor may be configured to determine the user's hand based on the object trajectory corresponding to the user's hand candidate and the user's head movement trajectory. A processor may be configured to, upon execution of the one or more instructions, track a hand and recognize a gesture of the determined user within the video.
본 개시의 일 측면에 따르면, 전자 장치가 사용자의 손을 결정하는, 전술 및 후술하는 방법들 중 어느 하나를 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능 기록매체를 제공할 수 있다.According to an aspect of the present disclosure, a computer readable recording medium having a program recorded thereon for executing any one of the methods described above and below for determining a user's hand by an electronic device may be provided.
도 1은 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 결정하는 동작을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 결정하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 개시의 일 실시예에 따른 전자 장치의 사용자의 몸 움직임을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 전자 장치가 카메라의 시야 궤적을 획득하는 동작을 설명하기 위한 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 전자 장치가 객체의 특징점을 추출하는 동작을 설명하기 위한 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 전자 장치가 이용하는, 궤적을 설명하기 위한 도면이다.
도 7a는 본 개시의 일 실시예에 따른 전자 장치가 센서 데이터를 획득하는 동작을 설명하기 위한 도면이다.
도 7b는 본 개시의 일 실시예에 따른 전자 장치가 센서 데이터에 기초하여 궤적을 생성하는 동작을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손 후보를 결정하는 동작을 설명하기 위한 도면이다.
도 9a는 본 개시의 일 실시예에 따른 전자 장치가 카메라의 시야 궤적과 사용자의 손 움직임 궤적을 비교하는 동작을 설명하기 위한 도면이다.
도 9b는 본 개시의 일 실시예에 따른 전자 장치가 카메라의 시야 궤적과 사용자의 손 움직임 궤적을 비교하는 동작을 설명하기 위한 도면이다.
도 9c는 본 개시의 일 실시예에 따른 전자 장치가 카메라의 시야 궤적과 사용자의 손 움직임 궤적을 비교하는 동작을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 결정하는 동작을 설명하기 위한 도면이다.
도 11a는 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 인식하기 위한 아키텍처를 개괄적으로 도시한 도면이다.
도 11b는 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 인식하기 위한, 또다른 아키텍처를 개괄적으로 도시한 도면이다.
도 12는 본 개시의 일 실시예에 따른 전자 장치(2000)가 복수의 사용자들 및 그들의 손을 구별하는 동작을 설명하기 위한 도면이다.
도 13은 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 인식하는 예시적인 상황을 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 인식하는 예시적인 상황을 설명하기 위한 도면이다.
도 15는 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 인식하는 예시적인 상황을 설명하기 위한 도면이다.
도 16은 본 개시의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.1 is a diagram schematically illustrating an operation of determining a user's hand by an electronic device according to an embodiment of the present disclosure.
2 is a flowchart illustrating a method of determining a user's hand by an electronic device according to an embodiment of the present disclosure.
3 is a diagram for explaining a body movement of a user of an electronic device according to an embodiment of the present disclosure.
4 is a flowchart illustrating an operation of acquiring a viewing trajectory of a camera by an electronic device according to an embodiment of the present disclosure.
5 is a flowchart illustrating an operation of extracting feature points of an object by an electronic device according to an embodiment of the present disclosure.
6 is a diagram for explaining a trajectory used by an electronic device according to an embodiment of the present disclosure.
7A is a diagram for explaining an operation of acquiring sensor data by an electronic device according to an embodiment of the present disclosure.
7B is a diagram for explaining an operation of generating a trajectory based on sensor data by an electronic device according to an embodiment of the present disclosure.
8 is a diagram for explaining an operation of determining a hand candidate of a user by an electronic device according to an embodiment of the present disclosure.
9A is a diagram for explaining an operation of an electronic device comparing a camera's field of view trajectory and a user's hand movement trajectory according to an embodiment of the present disclosure.
9B is a diagram for explaining an operation of comparing a camera's field of view trajectory and a user's hand movement trajectory by an electronic device according to an embodiment of the present disclosure.
9C is a diagram for explaining an operation of comparing a camera's field of view trajectory and a user's hand movement trajectory by an electronic device according to an embodiment of the present disclosure.
10 is a diagram for explaining an operation of determining a user's hand by an electronic device according to an embodiment of the present disclosure.
11A is a diagram schematically illustrating an architecture for recognizing a user's hand by an electronic device according to an embodiment of the present disclosure.
11B is a diagram schematically illustrating another architecture for recognizing a user's hand by an electronic device according to an embodiment of the present disclosure.
12 is a diagram for explaining an operation of distinguishing a plurality of users and their hands by the
13 is a diagram for explaining an exemplary situation in which an electronic device recognizes a user's hand, according to an embodiment of the present disclosure.
14 is a diagram for explaining an exemplary situation in which an electronic device recognizes a user's hand, according to an embodiment of the present disclosure.
15 is a diagram for explaining an exemplary situation in which an electronic device recognizes a user's hand, according to an embodiment of the present disclosure.
16 is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.In this disclosure, the expression “at least one of a, b, or c” means “a”, “b”, “c”, “a and b”, “a and c”, “b and c”, “a, b” and c”, or variations thereof.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present disclosure have been selected from general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but they may vary according to the intention or precedent of a person skilled in the art, the emergence of new technologies, and the like. In addition, in a specific case, there are also terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the corresponding description. Therefore, terms used in the present disclosure should be defined based on the meaning of the term and the general content of the present disclosure, not simply the name of the term.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 본 명세서에서 사용되는 '제1' 또는 '제2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.Singular expressions may include plural expressions unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by one of ordinary skill in the art described herein. Also, terms including ordinal numbers such as 'first' or 'second' used in this specification may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When it is said that a certain part "includes" a certain component throughout the specification, it means that it may further include other components without excluding other components unless otherwise stated. In addition, terms such as “unit” and “module” described in the specification refer to a unit that processes at least one function or operation, and may be implemented as hardware or software or a combination of hardware and software.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily carry out the present invention. However, the present disclosure may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly describe the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 결정하는 동작을 개략적으로 설명하기 위한 도면이다.1 is a diagram schematically illustrating an operation of determining a user's hand by an electronic device according to an embodiment of the present disclosure.
일 실시예에서, 전자 장치(2000)는 사용자의 머리에 착용 가능한 헤드 마운티드 디스플레이(Head Mounted Display; HMD) 또는 AR Glasses일 수 있다. 전자 장치(2000)는 사용자의 손을 인식하고, 사용자의 에어 제스처(air gestures)를 인식하여 동작하는 사용자 인터페이스를 제공할 수 있다.In one embodiment, the
전자 장치(2000)가 제스처 인터랙션을 제공하는 경우, 전자 장치(2000)는 제어 권한을 가진 사용자 및/또는 전자 장치(2000)의 사용자의 손을 추적하고 제스처를 인식할 수 있다. 이 경우, 전자 장치(2000)는 제스처 인식의 대상이 되는 사용자의 손을 결정할 수 있다.When the
도 1에 도시된 카메라 시야를 참조하면, 일 실시예에 따른 전자 장치(2000)의 카메라 시야에는 다양한 객체들, 즉 손들이 등장할 수 있다. 예를 들어, 전자 장치(2000)의 카메라 시야에는 다른 사람의 손들(102, 108, 110) 및 사용자의 손들(104, 106)이 포함될 수 있다.Referring to the camera field of view shown in FIG. 1 , various objects, that is, hands, may appear in the camera field of view of the
일 실시예에서, 전자 장치(2000)가 카메라 시야에 포함되는 다른 사람의 손들(102, 108, 110)을 인식하여 다른 사람의 손들(102, 108, 110)의 제스처에 의하여 제어된다면, 전자 장치(2000)의 사용자가 전자 장치(2000)를 원활하게 사용할 수 없게 된다. 전자 장치(2000)는 사용자의 제스처에 의해 전자 장치(2000)가 제어될 수 있도록, 카메라의 시야 내에서 사용자의 손들(104, 106)을 결정하고, 사용자의 손들(104, 106)만을 추적하여 제스처를 인식할 수 있다. 이 경우, 전자 장치(2000)는 각각의 인식된 제스처 유형에 따라 대응하는 제어 명령을 실행할 수 있다.In one embodiment, if the
전자 장치(2000)는, 다른 사람의 손을 사용자의 손으로 인식하지 않으므로, 사용자 외 다른 사람이 전자 장치(2000)를 제어하기 위한 손 제스처를 취하더라도, 제어 명령을 실행하지 않을 수 있다. 예를 들어, 전자 장치(2000)는 다른 사람의 손들(102, 108, 110)의 제스처에 의해서는 제어되지 않을 수 있다.Since the
전자 장치(2000)가 사용자의 손을 결정하는 구체적인 동작들에 대해서는, 후술하는 도면들과 그에 대한 상세한 설명에서 더 상세하게 기술하기로 한다.Specific operations for determining the user's hand by the
한편, 도 1 및 후술하는 도면들에서는, 전자 장치(2000)가 사용자의 머리에 착용 가능한 디바이스임을 예시로 설명하였다. 즉, 사용자의 자기 중심적인 시야를 기준으로 전자 장치(2000)가 사용자의 손을 결정하는 예시들이 주로 설명될 것이다. 다만, 본 개시는 이에 한정되는 것은 아니다. 구체적으로, 전자 장치(2000)는 스마트폰, TV, 로봇 등, 카메라를 포함하고 제스처에 의해 제어 가능한 다른 유형의 전자 장치들을 포함할 수 있다. 전자 장치(2000)가 사용자의 머리에 착용 가능한 디바이스가 아닌 다른 유형의 디바이스인 경우, 전자 장치(2000)는 측면 뷰에서 사용자를 카메라로 촬영하며, 개시된 실시예들에 따라 비디오에 포함되는 사용자 및 그 사용자의 손을 결정할 수 있다. 전자 장치(2000)는 사용자의 손을 결정하면, 사용자의 손을 추적하여 제스처를 인식하고 제어 동작을 수행할 수 있다.Meanwhile, in FIG. 1 and the following drawings, the
도 2는 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 결정하는 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a method of determining a user's hand by an electronic device according to an embodiment of the present disclosure.
단계 S210에서, 전자 장치(2000)는 카메라를 이용하여 복수의 프레임들을 포함하는 비디오를 획득한다. 전자 장치(2000)는 카메라를 이용하여 비디오를 촬영하면서, 실시간으로 획득되는 비디오의 프레임들을 분석할 수 있다.In step S210, the
일 실시예에서, 전자 장치(2000)에 포함되는 카메라는 하나 이상일 수 있다. 전자 장치(2000)는 예를 들어, RGB 카메라, 깊이 카메라 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.In one embodiment, there may be one or more cameras included in the
단계 S220에서, 전자 장치(2000)는 비디오의 프레임들을 이용하여 카메라의 시야(Field of View; FoV)의 이동을 나타내는 시야 궤적을 추정한다.In step S220, the
일 실시예에서, 전자 장치(2000)는 비디오에 포함되는 프레임들 각각에 대하여, 전경 및 배경을 분리할 수 있다. 전자 장치(2000)가 프레임으로부터 전경과 배경을 분리하는 방법에는, 다양한 알고리즘이 이용될 수 있다. 예를 들어, 전자 장치(2000)는 비디오의 프레임들로부터 전경 객체를 추출하여, 전경 객체를 포함하는 전경 프레임들 및 전경 객체를 제외한 배경 프레임들을 획득할 수 있다. 전자 장치(2000)는 획득된 배경 프레임들을 이용하여 카메라의 시야 궤적을 추정할 수 있다. 예를 들어, 전자 장치(2000)는 배경 프레임들 내 픽셀들을 비교할 수 있다. 이 경우, 배경 프레임들은 시간순으로 정렬된 프레임들일 수 있다. 전자 장치(2000)는 배경 프레임들 내 픽셀들을 비교함으로써, 카메라의 촬영 시야의 이동을 나타내는 시야 이동 정보를 획득할 수 있다. 전자 장치(2000)는 시야 이동 정보에 기초하여, 전자 장치(2000)의 카메라의 시야 궤적을 결정할 수 있다.In one embodiment, the
일 실시예에서, 전자 장치(2000)는 비디오에 포함되는 프레임들 중에서, 전경 및 배경을 분리할 프레임들을 선택할 수 있다. 예를 들어, 전자 장치(2000)는 시간순으로 나열된 프레임들 중에서, 기 설정된 간격으로 일부의 프레임들만을 추출하여, 전경 및 배경 분리 처리를 수행할 수 있다.In an embodiment, the
일 실시예에서, 전자 장치(2000)는 전자 장치(2000)에 포함되는 하나 이상의 센서를 이용하여, 카메라의 시야 궤적을 추정할 수 있다. 예를 들어, 전자 장치(2000)는 IMU(Inertial Measurement Unit) 센서를 이용하여, 카메라의 이동 정보 및 회전 정보를 획득할 수 있다. IMU 센서는, 가속도 센서, 자이로 센서 및 지자기 센서 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 전자 장치(2000)는 전자 장치(2000)의 이동 정보 및 회전 정보에 기초하여 전자 장치(2000)의 카메라의 시야 궤적을 결정할 수 있다.In one embodiment, the
단계 S230에서, 전자 장치(2000)는 비디오의 프레임들 각각 내에서, 하나 이상의 객체의 특징점들을 검출한다.In step S230, the
일 실시예에서, 전자 장치(2000)는 단계 S220에서 획득한 전경 프레임들을 이용하여, 비디오 내 하나 이상의 전경 객체의 특징점들을 검출할 수 있다. 예를 들어, 비디오 내에 손이 있어서 전경 객체로 식별된 경우, 전자 장치(2000)는 손의 특징점들인 손가락 마디, 손바닥, 손목 등을 검출할 수 있다. 다만, 객체 '손'의 전술한 특징점들은 예시일 뿐이며, '손'에 대하여 다른 특징점들이 검출될 수 있다. 또한, '손' 외에 다른 종류의 객체(예를 들어, 머리, 얼굴 등)에 대하여, 각각의 객체에 대하여 정의된 특징점들이 검출될 수도 있다. 일 실시예에서, 전자 장치(2000)는 객체의 특징점들을 검출하기 위한 인공지능 모델을 이용할 수 있다. 이 경우, 객체의 특징점들을 검출하기 위한 인공지능 모델은, 여러 객체의 카테고리 별로 객체의 특징점들이 주석(annotation)된 훈련 데이터셋을 이용하여 훈련된 것일 수 있다. 일 실시예에서, 전자 장치(2000)는 객체의 특징점들을 검출할 때, 객체의 카테고리를 먼저 식별하고, 식별된 카테고리에 대응하는 특징점들을 검출할 수 있다. 예를 들어, 전자 장치(2000)는 전경 프레임들 내에서 객체 '손'을 식별하고, '손'의 특징점들을 검출할 수 있다.In an embodiment, the
단계 S240에서, 전자 장치(2000)는 하나 이상의 객체의 특징점들에 기초하여, 객체의 이동을 나타내는 객체 궤적을 추정한다. 전자 장치(2000)는 비디오에 촬영된 하나 이상의 객체들의 특징점들의 이동 정보를 획득할 수 있다. 예를 들어, 전자 장치(2000)는 하나의 객체에서 검출된 특징점들에 기초하여 전경 프레임들 내에서 객체(또는 객체의 특징점들)의 이동 정보를 획득할 수 있다. 예를 들어, 전자 장치(2000)는 하나의 객체에서 검출된 특징점들의 집합 및/또는 특징점들의 무게중심 등을 이용하여, 객체의 이동 정보를 생성할 수 있다. 전자 장치(2000)는 객체의 이동 정보에 기초하여, 객체의 궤적을 결정할 수 있다.In step S240, the
단계 S250에서, 전자 장치(2000)는 카메라의 시야 궤적 및 객체 궤적에 기초하여, 하나 이상의 객체 중에서 사용자의 손 후보를 결정한다.In step S250 , the
일 실시예에서, 비디오 내 복수의 객체들이 있는 경우, 전술한 실시예들에 따라 복수의 객체들에 각각 대응하는 객체 궤적들이 획득될 수 있다. 예를 들어, 비디오 내 사용자의 손 및 전자 장치(2000)의 사용자가 아닌 다른 사람들의 손이 포함될 수 있다. 전자 장치(2000)는 다른 사람들의 손을 인식하지 않고 사용자의 손만을 인식하기 위해, 사용자의 손 후보를 결정할 수 있다. 사용자의 손 후보는 예를 들어, 실제 사용자의 손, 다른 사람들의 손 등을 포함할 수 있다. 전자 장치(2000)는 사용자의 손 후보 중에서 실제 사용자의 손이 무엇인지를 결정할 수 있다.In one embodiment, when there are a plurality of objects in the video, object trajectories respectively corresponding to the plurality of objects may be obtained according to the above-described embodiments. For example, the hand of the user and the hands of people other than the user of the
전자 장치(2000)는 객체 궤적들 중에서, 사용자의 손의 움직임을 나타내는 궤적으로 추정되는 객체 궤적을 결정할 수 있다. 예를 들어, 전자 장치(2000)가 사용자의 머리에 착용 가능한 HMD인 경우, 사용자의 머리 움직임에 따른 카메라의 시야 궤적과 사용자의 손 움직임에 따른 손의 궤적은 상관 계수가 높게 나타날 수 있다. 전자 장치(2000)는 비디오 내 하나 이상의 객체 중에서, 사용자의 손 후보를 결정하기 위해 카메라의 시야 궤적 및 객체 궤적 간의 상관 계수를 계산할 수 있다. 전자 장치(2000)가 궤적 간 상관 계수를 계산하는 방법은, 다양한 알고리즘이 사용될 수 있다. 일 실시예에서, 전자 장치(2000)는 상관 계수 계산을 위한 신호 처리를 수행할 수 있다. 이러한 신호 처리에는 예를 들어, 동적 시간 워핑(Dynamic Time Warping; DTW) 등이 이용될 수 있으나, 이에 한정되는 것은 아니다.The
전자 장치(2000)는 카메라의 시야 궤적 및 객체 궤적 간의 상관 계수가 기 설정된 값 이상인 것에 기초하여, 하나 이상의 객체들 중에서 사용자의 손 후보를 결정할 수 있다. 전자 장치(2000)는 후술되는 동작들을 더 수행하여, 사용자의 손 후보 중에서 어떤 객체가 사용자의 손인지를 결정할 수 있다.The
단계 S260에서, 전자 장치(2000)는 사용자의 머리의 움직임을 나타내는 머리 움직임 궤적을 획득한다.In step S260, the
일 실시예에서, 전자 장치(2000)는 전자 장치(2000)에 포함되는 하나 이상의 센서를 이용하여, 사용자의 머리 움직임 궤적을 획득할 수 있다. 예를 들어, 전자 장치(2000)가 사용자의 머리에 착용 가능한 HMD인 경우, 전자 장치(2000)는 IMU(Inertial Measurement Unit) 센서를 이용하여 사용자의 머리 움직임 정보를 획득할 수 있다. 전자 장치(2000)는 사용자의 머리 움직임을 나타내는 머리 움직임 정보에 기초하여, 전자 장치(2000)를 머리에 착용한 사용자의 머리 움직임 궤적을 결정할 수 있다.In an embodiment, the
일 실시예에서, 전자 장치(2000)는 비디오에 포함되는 프레임들을 이용하여, 사용자의 머리 움직임 궤적을 획득할 수 있다. 예를 들어, 전자 장치(2000)는 카메라를 포함하여 사용자를 촬영 가능한 디바이스일 수 있다. 전자 장치(2000)는 사용자를 촬영하여 실시간으로 비디오 프레임들을 획득하고, 비디오 프레임들 중에서, 전경 및 배경을 분리하고, 전경 객체들 중에서 사람의 머리 특징점들을 검출할 수 있다. 전자 장치(2000)는 머리 특징점들에 기초하여, 전경 프레임들 내에서 사용자의 머리 움직임 정보를 획득할 수 있다. 전자 장치(2000)는 사용자의 머리 움직임 정보에 기초하여, 사용자의 머리 움직임 궤적을 결정할 수 있다.In an embodiment, the
단계 S270에서, 전자 장치(2000)는 사용자의 손 후보에 대응하는 객체 궤적 및 머리 움직임 궤적에 기초하여, 사용자의 손을 결정한다.In step S270, the
일 실시예에서, 전자 장치(2000)는 단계 S250에서 결정된 손 후보에 대응하는 객체 궤적을 획득할 수 있다. 전자 장치(2000)는 사용자의 손 후보에 대응하는 객체 궤적 및 사용자의 머리 움직임 궤적을 비교할 수 있다. 예를 들어, 전자 장치(2000)는 사용자의 손 후보에 대응하는 객체 궤적과 사용자의 머리 움직임 궤적 간 상관 계수를 계산할 수 있다. 전자 장치(2000)가 궤적 간 상관 계수를 계산하는 방법에는, 다양한 알고리즘이 사용될 수 있다. 예를 들어, 동적 시간 워핑(Dynamic Time Warping; DTW) 등이 이용될 수 있으나, 이에 한정되는 것은 아니다.In an embodiment, the
전자 장치(2000)는 사용자의 손 후보에 대응하는 객체 궤적 및 사용자의 머리 움직임 궤적 간의 상관 계수가 기 설정된 값 이상인 것에 기초하여, 사용자의 손 후보들 중에서 사용자의 손을 결정할 수 있다.The
단계 S280에서, 전자 장치(2000)는 비디오 내에서 결정된 사용자의 손을 추적하고 제스처를 인식한다. In step S280, the
전자 장치(2000)는 전자 장치(2000)를 사용하는 사용자의 손만을 인식하여, 사용자의 손을 추적하고, 사용자의 손이 나타내는 제스처를 인식할 수 있다. 일 실시예에서, 사용자의 손 제스처 유형 각각에는, 기 설정된 전자 장치(2000)에 대한 제어 명령이 저장되어 있을 수 있다. 전자 장치(2000)는 사용자의 손에 대한 제스처 인식에 기초하여, 전자 장치(2000)를 제어하기 위한 제어 명령을 실행할 수 있다. 이 경우, 전자 장치(2000)의 사용자 외 다른 사람이 전자 장치(2000)를 제어하기 위한 손 제스처를 취하더라도, 전자 장치(2000)는 다른 사람의 손을 사용자의 손으로 인식하지 않으므로, 제어 명령을 실행하지 않을 수 있다.The
도 3은 본 개시의 일 실시예에 따른 전자 장치의 사용자의 몸 움직임을 설명하기 위한 도면이다.3 is a diagram for explaining a body movement of a user of an electronic device according to an embodiment of the present disclosure.
도 3을 설명함에 있어서, 전자 장치(2000)는 머리에 착용 가능한 HMD인 경우를 예시로 설명한다.In describing FIG. 3 , the
일 실시예에서, 사용자가 전자 장치(2000)를 머리에 착용하여 사용하는 경우, 예를 들어, 가상 현실, 증강 현실, 휴먼-컴퓨터 인터랙션 등, 다양한 경우에, 사용자는 제스처를 조작을 통해 전자 장치(2000)를 제어할 수 있다. 사용자가 제스처 조작을 하는 동안, 사용자의 몸 부분들(예를 들어, 손, 머리, 몸통 등)은 부분적으로 동기화되어 움직인다.In one embodiment, when the user wears the
예를 들어, 전자 장치(2000)는 카메라를 이용하여 사용자의 시야를 촬영하여 획득한 비디오를 참조하여 설명한다. 비디오는 복수의 프레임들(제1 프레임(312), 제2 프레임(322), 제3 프레임(332))을 포함한다. 다만, 설명의 편의를 위해 3개의 프레임들만을 도시하였을 뿐, 비디오에는 더 많은 프레임들이 포함될 수 있다.For example, the
제1 프레임(312)은, 사용자의 시야가 왼쪽(310)을 바라보고 있을 때를 촬영한 프레임이다. 제2 프레임(322)은, 사용자의 시야가 정면(320)을 바라보고 있을 때를 촬영한 프레임이다. 제3 프레임(332)은, 사용자의 시야가 오른쪽(330)을 바라보고 있을 때를 촬영한 프레임이다.The
전자 장치(2000)의 사용자는 손을 왼쪽에서 오른쪽으로 움직이는 제스처를 취할 수 있다. 제1 프레임(312), 제2 프레임(322) 및 제3 프레임(332)을 참조하면, 사용자가 왼쪽(310)을 바라보다가, 정면(320)을 바라보고, 오른쪽(330)을 바라보면서, 손을 왼쪽에서 오른쪽으로 이동시키고 있음을 알 수 있다. 이와 같이, 사용자가 제스처를 통하여 전자 장치(2000)를 제어할 때, 사용자의 몸 부분들(예를 들어, 손, 머리, 몸통 등)은 부분적으로 동기화되어 움직인다. 본 개시는 이러한 사용자의 몸 부분들의 부분적으로 동기화되는 특징에 기초하여, 사용자의 몸 부분들의 궤적 분석을 통해 사용자의 손을 사용자 외 다른 사람들의 손과 구별할 수 있다.A user of the
도 4는 본 개시의 일 실시예에 따른 전자 장치가 카메라의 시야 궤적을 획득하는 동작을 설명하기 위한 흐름도이다.4 is a flowchart illustrating an operation of acquiring a viewing trajectory of a camera by an electronic device according to an embodiment of the present disclosure.
단계 S410은 내지 단계 S430은, 도 2의 단계 S220에 대응될 수 있다.Steps S410 to S430 may correspond to step S220 of FIG. 2 .
단계 S410에서, 전자 장치(2000)는 비디오의 프레임들 각각에 대하여 전경 객체를 추출함으로써, 전경 프레임들 및 배경 프레임들을 획득한다.In step S410, the
일 실시예에서, 전자 장치(2000)는 비디오의 프레임 내에서 객체를 검출하기 위한 인공지능 모델(이하, 객체 검출 모델)을 이용하여 객체를 검출할 수 있다. 객체 검출 모델은, 이미지를 입력 받아, 객체를 검출(예를 들어, 손, 얼굴 등)한 결과를 출력하는 인공지능 모델일 수 있다. 객체 검출 모델은 객체를 검출하기 위해 객체에 관련된 정보(예를 들어, 객체의 카테고리 등)가 주석된(annotated) 훈련 데이터셋을 이용하여 훈련된 인공지능 모델일 수 있다. 전자 장치(2000)는 비디오의 프레임 내에서 객체를 검출하고, 객체의 엣지 영역을 식별한 뒤, 프레임 내에서 검출된 객체 영역을 분리하여 전경 프레임을 생성할 수 있다. 전자 장치(2000)는 프레임 내에서 검출된 객체를 제외한 나머지 영역을 분리하여 배경 프레임을 생성할 수 있다.In an embodiment, the
일 실시예에서, 전자 장치(2000)는 알려진 전경/배경 분리 알고리즘을 이용하여 전경 프레임들 및 배경 프레임들을 생성할 수 있다. 이러한 방식은 해당 기술 분야의 통상의 기술자에게 용이하게 도출 가능하므로, 설명을 생략한다.In an embodiment, the
한편 단계 S410에서, 프레임 및 객체를 단수로 표현하여 설명하였으나, 이는 설명의 편의를 위한 예시일 뿐이다. 비디오에 포함되는 프레임은 하나 이상이며, 각각의 프레임들에 포함되는 객체 또한 하나 이상일 수 있다. 프레임 및/또는 객체가 하나 이상인 경우에도, 전술한 실시예가 동일하게 적용될 수 있다.Meanwhile, in step S410, the frame and the object are expressed in the singular and described, but this is only an example for convenience of description. One or more frames are included in the video, and one or more objects may be included in each frame. Even when there are one or more frames and/or objects, the above-described embodiment can be equally applied.
단계 S420에서, 전자 장치(2000)는 배경 프레임들 내 픽셀들을 비교하여 카메라의 시야 이동을 나타내는 시야 이동 정보를 획득한다. 시야 이동 정보는 카메라의 이동, 회전을 포함하는 3차원 이동에 관련된 정보를 포함할 수 있다.In step S420, the
일 실시예에서, 전자 장치(2000)는 비디오에 포함되는 프레임들을 이용하여 배경 프레임들을 획득한다. 전자 장치(2000)는 인접한 배경 프레임 간의 픽셀을 비교하여, 전자 장치(2000)의 카메라의 시야 이동 정보를 획득할 수 있다. 예를 들어, 전자 장치(2000)는, 인접한 프레임 간에 중복(동일 또는 유사한 값을 갖는 픽셀)되는 픽셀값 외에, 차이가 있는 픽셀들이 어느 방향인지에 기초하여, 카메라의 시야가 어느 방향으로 이동하였는지를 나타내는 시야 이동 정보를 획득할 수 있다.In an embodiment, the
일 실시예에서, 전자 장치(2000)의 카메라의 시야 이동 정보는, 전자 장치(2000)에 포함되는 센서로부터 획득되는 센서 데이터를 이용하여 생성될 수도 있다. 예를 들어, 전자 장치(2000)는 IMU(Inertial Measurement Unit) 센서를 이용하여, 카메라의 이동 정보 및 회전 정보를 획득할 수 있다. IMU 센서는, 가속도 센서, 자이로 센서 및 지자기 센서 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 전자 장치(2000)는 전자 장치(2000)의 이동 정보 및 회전 정보에 기초하여 전자 장치(2000)의 카메라의 시야 이동 정보를 생성할 수 있다.In one embodiment, the field of view movement information of the camera of the
단계 S430에서, 전자 장치(2000)는 시야 이동 정보에 기초하여 카메라의 시야 궤적을 결정한다.In step S430, the
전자 장치(2000)는 시야 이동 정보에 기초하여, 전자 장치(2000)의 카메라의 3차원 공간 상에서의 시야 궤적을 생성할 수 있다. 카메라의 시야 궤적은, 전술한 HMD를 예로 들면, 사용자가 HMD를 착용하고 머리를 회전시키거나, 사용자가 3차원 공간 내에서 이동하면서 바라본 시야의 궤적을 의미할 수 있다.The
도 5는 본 개시의 일 실시예에 따른 전자 장치가 객체의 특징점을 추출하는 동작을 설명하기 위한 흐름도이다.5 is a flowchart illustrating an operation of extracting feature points of an object by an electronic device according to an embodiment of the present disclosure.
단계 S510 내지 S520은, 도 2의 단계 S230에 대응될 수 있다.Steps S510 to S520 may correspond to step S230 of FIG. 2 .
단계 S510에서, 전자 장치(2000)는 비디오의 프레임들 각각에 대하여 전경 객체를 추출함으로써, 전경 프레임들 및 배경 프레임들을 획득한다. 전자 장치(2000)가 전경 프레임들을 생성하는 동작에 대해서는, 도 4의 단계 S410에 대한 설명에서 이미 서술하였으므로, 동일한 설명은 생략한다.In step S510, the
단계 S520에서, 전자 장치(2000)는 전경 프레임들 내 전경 객체로부터 하나 이상의 객체의 특징점들을 추출한다.In step S520, the
일 실시예에서, 전자 장치(2000)는 객체의 특징점들을 검출하기 위한 인공지능 모델(이하, 객체 특징 검출 모델)을 이용할 수 있다. 이 경우, 객체의 특징점들을 검출하기 위한 인공지능 모델은, 여러 객체의 카테고리 별로 객체의 특징점들이 주석(annotation)된 훈련 데이터셋을 이용하여 훈련된 것일 수 있다. 예를 들어, 전자 장치(2000)는 전경 프레임(500)의 전경 객체인 '손(502)'의 특징점들인 손가락 마디, 손바닥, 손목 등을 검출할 수 있다. 다만, 객체 '손(502)'의 전술한 특징점들은 예시일 뿐이며, '손(502)'에 대하여 다른 특징점들이 검출될 수 있다. 또한, '손(502)' 외에 다른 종류의 객체(예를 들어, 머리, 얼굴 등)에 대하여, 각각의 객체에 대하여 정의된 특징점들이 검출될 수도 있다.In an embodiment, the
도 6은 본 개시의 일 실시예에 따른 전자 장치가 이용하는, 궤적을 설명하기 위한 도면이다.6 is a diagram for explaining a trajectory used by an electronic device according to an embodiment of the present disclosure.
일 실시예에서, 궤적들(630)은 다양한 데이터를 이용하여 생성될 수 있다. 예를 들어, 전자 장치(2000)는 IMU(Inertial Measurement Unit) 센서를 이용하여, 센서 기반 데이터(610)를 획득할 수 있다. 센서 기반 데이터는 시간 순으로 센싱된 데이터일 수 있다. 또는, 전자 장치(2000)는 비디오 프레임들(제1, 제2, 제3 프레임 등)로부터 이미지 기반 데이터(620)를 획득할 수 있다.In one embodiment,
일 실시예에서, 전자 장치(2000)는 센서 기반 데이터(610)에 기초하여 궤적들(630)을 생성할 수 있다.In one embodiment, the
예를 들어, 전자 장치(2000)는 사용자의 머리에 위치한 센서(예를 들어, IMU 센서 등)로부터, 센서 기반 데이터(610)를 획득하고, 사용자의 머리 움직임 궤적(즉, 궤적들(630))을 생성할 수 있다. 이 경우, 사용자의 머리에 위치한 센서는 전자 장치(2000)가 HMD인 경우 HMD에 포함되는 센서일 수 있으나, 이에 한정되는 것은 아니며, 별도의 센서가 사용자의 머리에 위치하여 전자 장치(2000)로 센서 기반 데이터(610)를 제공할 수 있다.For example, the
또는, 전자 장치(2000)는 사용자의 손에 위치한 센서(예를 들어, IMU 센서 등)로부터, 센서 기반 데이터(610)를 획득하고, 사용자의 손 움직임 궤적(즉, 궤적들(630))을 생성할 수 있다. 이 경우, 사용자의 손에 위치한 센서는 전자 장치(2000)와 유선/무선 통신 연결된 웨어러블 디바이스(예를 들어, 스마트 워치 등)일 수 있으나, 이에 한정되는 것은 아니며, 별도의 센서가 사용자의 손에 위치하여 전자 장치(2000)로 센서 기반 데이터(610)를 제공할 수 있다.Alternatively, the
또는, 전자 장치(2000)는 전자 장치(2000)의 카메라에 인접하여 위치한 센서(예를 들어, IMU 센서 등)로부터, 센서 기반 데이터(610)를 획득하고, 카메라의 시야 이동 궤적(즉, 궤적들(630))을 생성할 수 있다. 이는, 전술하였으므로, 동일한 설명은 생략한다.Alternatively, the
일 실시예에서, 전자 장치(2000)는 이미지 기반 데이터(620)에 기초하여 궤적들(630)을 생성할 수 있다.In one embodiment, the
예를 들어, 전자 장치(2000)는 비디오 프레임들(제1, 제2, 제3 프레임 등)로부터 생성되는 이미지 기반 데이터(620)를 이용하여, 카메라의 시야 이동 궤적(즉, 궤적들(630))을 생성할 수 있다. 이 경우, 이미지 기반 데이터(620)는 전술한 배경 프레임들로부터 획득된 시야 이동 정보를 포함할 수 있다. 이는, 전술하였으므로, 동일한 설명은 생략한다.For example, the
또는, 전자 장치(2000)는 비디오 프레임들(제1, 제2, 제3 프레임 등)로부터 생성되는 이미지 기반 데이터(620)를 이용하여, 객체 궤적(즉, 궤적들(630))을 생성할 수 있다. 이 경우, 이미지 기반 데이터(620)는 전술한 전경 프레임들로부터 획득된 객체 특징점 정보를 포함할 수 있다. 한편, 객체 특징점 정보는 사용자의 머리, 얼굴, 손 등의 특징점일 수 있으며, 각각의 경우의 궤적은 머리(얼굴) 움직임 궤적, 손 움직임 궤적이 될 수 있다. 이는, 전술하였으므로, 동일한 설명은 생략한다.Alternatively, the
도 7a 내지 도 7b는 일 실시예에 따른 전자 장치가 센서 데이터로부터 궤적을 생성되하 동작을 더 설명하기 위한 도면이다.7A and 7B are diagrams for further explaining an operation of an electronic device generating a trajectory from sensor data according to an exemplary embodiment.
도 7a는 본 개시의 일 실시예에 따른 전자 장치가 센서 데이터를 획득하는 동작을 설명하기 위한 도면이다.7A is a diagram for explaining an operation of acquiring sensor data by an electronic device according to an embodiment of the present disclosure.
일 실시예에 따른 전자 장치(2000)는 사용자의 머리에 위치한 제1 센서 (710)로부터 제1 센서 데이터(712)를 획득할 수 있다. 제1 센서(710)는, 전자 장치(2000)가 HMD인 경우 HMD에 포함되는 센서일 수 있으나, 이에 한정되는 것은 아니며, 별도의 제1 센서(710)가 사용자의 머리에 위치하여 전자 장치(2000)로 제1 센서 데이터(712)를 제공할 수 있다. 제1 센서 데이터(712)는 시간에 따른 x축, y축, z축으로의 이동 정보 및/또는 회전 정보 등을 포함할 수 있다. 전자 장치(2000)는 사용자의 머리에 위치한 제1 센서(710)로부터 획득되는 제1 센서 데이터(712)에 기초하여, 사용자의 머리 움직임 궤적을 생성할 수 있다. 이는, 도 7b를 참조하여 더 설명한다.The
일 실시예에 따른 전자 장치(2000)는 사용자의 손에 위치한 제2 센서(720)로부터 제2 센서 데이터(722)를 획득할 수 있다. 제2 센서(720)는, 전자 장치(2000)와 유선/무선 통신 연결된 웨어러블 디바이스(예를 들어, 스마트 워치 등)일 수 있으나, 이에 한정되는 것은 아니며, 별도의 센서가 사용자의 손에 위치하여 전자 장치(2000)로 제2 센서 데이터(722)를 제공할 수 있다. 제2 센서 데이터(722)는 시간에 따른 x축, y축, z축으로의 이동 정보 및/또는 회전 정보 등을 포함할 수 있다. 전자 장치(2000)는 사용자의 손에 위치한 제2 센서(720)로부터 획득되는 제2 센서 데이터(722)에 기초하여, 사용자의 손 움직임 궤적을 생성할 수 있다. 이는, 도 7b를 참조하여 더 설명한다.The
도 7b는 본 개시의 일 실시예에 따른 전자 장치가 센서 데이터에 기초하여 궤적을 생성하는 동작을 설명하기 위한 도면이다.7B is a diagram for explaining an operation of generating a trajectory based on sensor data by an electronic device according to an embodiment of the present disclosure.
일 실시예에 따른 전자 장치(2000)가 도 7a의 제1 센서 데이터(712) 및 제2 센서 데이터(722)로부터 손/머리 움직임 궤적을 생성하는 원리는 동일하므로, 설명의 편의를 위해 제1 센서 데이터(712)에 대하여만 서술한다.Since the
일 실시예에서, 제1 센서 데이터(712)는 시간 단계별로 각각 x축 이동 정도, y축 이동 정도, z축 이동 정도를 나타내는 정보를 포함할 수 있다. 일 실시예에서, 전자 장치(2000)는 제1 센서 데이터(712)에 기초하여, 움직임 궤적(730)을 생성할 수 있다. 전술한 예시에 따르면, 제1 센서 데이터(712)는 사용자의 머리에 위치한 제1 센서(710)로부터 획득되는 데이터이므로, 움직임 궤적(730)은 사용자의 머리 움직임 궤적일 수 있다.In an embodiment, the
일 실시예에서, 전자 장치(2000)는 궤적(730)을 x축, y축, z축의 3차원 정보를 포함하는 3차원 궤적으로 저장할 수 있다. 전자 장치(2000)는 또는, 전자 장치(2000)는 3차원 궤적을 간소화하여 2차원 궤적으로 저장할 수 있다. 전자 장치(2000)는 후술하는 궤적 상관 계수 계산에 있어서 3차원 궤적 및/또는 2차원 궤적을 이용할 수 있다.In an embodiment, the
한편, 도 7b에서는 제1 센서 데이터(712)를 예시로 하여 사용자의 머리 움직임 궤적을 생성하는 예시를 설명하였으나, 이와 유사하게, 전자 장치(2000)는 제2 센서 데이터(722)를 이용하여 사용자의 손 움직임 궤적을 생성할 수 있다.Meanwhile, in FIG. 7B , an example of generating a user's head movement trajectory has been described by taking the
도 8은 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손 후보를 결정하는 동작을 설명하기 위한 도면이다.8 is a diagram for explaining an operation of determining a hand candidate of a user by an electronic device according to an embodiment of the present disclosure.
단계 S810에서, 전자 장치(2000)는 전자 장치(2000)의 카메라의 시야 궤적을 획득한다. 전자 장치(2000)는 이미지 기반 데이터 및/또는 센서 기반 데이터에 기초하여, 카메라의 시야 궤적을 생성할 수 있다. 전자 장치(2000)가 카메라의 시야 궤적을 획득하는 구체적인 동작들은 전술하였으므로, 동일한 설명은 생략한다.In step S810, the
단계 S820에서, 전자 장치(2000)는 하나 이상의 객체 궤적을 획득한다. 전자 장치(2000)는 비디오의 프레임 내에서 객체를 검출하고, 객체의 특징점들을 검출할 수 있다. 전자 장치(2000)는 검출된 객체 및/또는 객체의 특징점들에 기초하여 하나 이상의 객체 궤적을 생성할 수 있다. 전자 장치(2000)가 객체 궤적을 획득하는 구체적인 동작들은 전술하였으므로, 동일한 설명은 생략한다.In step S820, the
단계 S830에서, 전자 장치(2000)는 카메라의 시야 궤적 및 객체 궤적 간 상관 계수(800)를 계산한다. 전자 장치(2000)는 상관 관계를 찾기 위한 다양한 알고리즘을 이용할 수 있다. 전자 장치(2000)는 상관 계수(800) 계산을 위한 신호 처리를 수행할 수 있다. 이러한 신호 처리는 예를 들어, 동적 시간 워핑(Dynamic Time Warping; DTW) 등이 이용될 수 있으나, 이에 한정되는 것은 아니다. 일 실시예에 따른 전자 장치(2000)는 비디오에 포함되는 객체 중에서, 카메라의 시야 궤적 과 상관 관계가 높은 객체의 궤적들만을 필터링할 수 있다.In step S830, the
단계 S840에서, 전자 장치(2000)는 상관 계수(800)가 기 설정된 값 이상인 것에 기초하여, 사용자의 손 후보를 결정한다. 전술한 예시에 따르면, 사용자의 몸 부분들(예를 들어, 손, 머리, 몸통 등)은 부분적으로 동기화되어 움직이므로, 사용자가 HMD를 착용하여 제스처 조작을 수행하는 경우, 카메라의 시야 궤적과 사용자의 손 움직임 궤적은 유사하다. 전자 장치(2000)는 상관 계수(800)에 기초하여, 객체의 궤적과 카메라의 시야 궤적의 상관 계수(800)가 기 설정된 값(예를 들어, 0.54) 이상인 것에 기초하여, 해당 궤적을 갖는 객체를 사용자의 손 후보로 결정할 수 있다.In step S840, the
도 9a는 본 개시의 일 실시예에 따른 전자 장치가 카메라의 시야 궤적과 사용자의 손 움직임 궤적을 비교하는 동작을 설명하기 위한 도면이다.9A is a diagram for explaining an operation of an electronic device comparing a camera's field of view trajectory and a user's hand movement trajectory according to an embodiment of the present disclosure.
도 9a를 설명함에 있어서, 비디오 내의 객체가 '손' 이므로, 전술한 실시예들에 따라 획득된 객체 궤적은 '손 움직임 궤적'을 예시로 설명한다.In the description of FIG. 9A , since the object in the video is a 'hand', the object trajectory obtained according to the above-described embodiments will be described as a 'hand movement trajectory' as an example.
도 9a의 이미지(900)는, 사용자가 HMD 유형의 전자 장치(2000)를 착용하고, 제스처를 이용하여 전자 장치(2000)를 제어하는 것을 설명하기 위한 이미지이다.An
일 실시예에서, 전자 장치(2000)의 사용자는, 전자 장치(2000)를 제어하기 위해서 제스처를 입력할 수 있다. 예를 들어, 도 9a 의 이미지(900)에 표현된 것과 같이, 전자 장치(2000)의 사용자는 왼손의 좌우 이동을 반복하는 제스처를 입력할 수 있다. 전자 장치(2000)는 사용자의 제스처를 인식하고, 제스처에 대응하는 제어 명령을 실행한다. 예를 들어, 전자 장치(2000)는 사용자의 손이 '왼손'이고, 제스처가 '좌우 이동'임을 인식하여, 해당 제스처에 대응하는 제어 명령을 실행할 수 있다.In one embodiment, a user of the
일 실시예에 따른 전자 장치(2000)는, 사용자의 손 움직임 궤적(902)과 카메라의 시야 궤적(904)을 비교하고, 손 움직임 궤적(902)과 카메라의 시야 궤적(904) 간의 상관 계수를 계산할 수 있다. 도 9a에 도시된 것과 같이, 전자 장치(2000)가 손 특징점들에 기초하여 추정한 손 움직임 궤적(즉, 전술한 실시예들에 따른, 객체의 특징점들에 기초하여 추정한 객체 궤적)은, 복수개일 수 있다. 일 실시예에 따른 전자 장치(2000)는, 상관 계수가 기 설정된 값 이상인 것에 기초하여, 사용자의 손 후보를 결정한다. 이 경우, 결정된 사용자의 손 후보에 대응하는 손 움직임 궤적이 이용된다.The
일 실시예에서, 전자 장치(2000)는 상관 계수 계산을 위해 사전에 수행되는 신호 처리를 수행할 수 있다. 예를 들어, 전자 장치(2000)는 동적 시간 워핑(Dynamic Time Warping; DTW) 알고리즘을 이용할 수 있다. 동적 시간 워핑은, 1차원 시계열의 신호에서, 두개의 다른 속도의 시간축의 파장의 유사성을 측정하는 알고리즘이며, 두 시퀀스인 S1, S2 사이에 대응하는 샘플 포인트 사이의 거리를 계산함함으로써, 두 시퀀스 간의 유사도를 계산할 수 있다. 또는, 전자 장치(2000)는 순차적인 데이터인 궤적을 처리하기 위해, 은닉 마르코프 모델(Hidden Markov Model; HMM)을 이용할 수 있으나, 전자 장치(2000)가 사용하는 신호 처리 알고리즘은 이에 한정되는 것은 아니다.In an embodiment, the
도 9b는 본 개시의 일 실시예에 따른 전자 장치가 카메라의 시야 궤적과 사용자의 손 움직임 궤적을 비교하는 동작을 설명하기 위한 도면이다.9B is a diagram for explaining an operation of comparing a camera's field of view trajectory and a user's hand movement trajectory by an electronic device according to an embodiment of the present disclosure.
도 9b는, 비디오에 포함되는 제1 프레임(910) 및 제2 프레임(920)을 도시한 것이다. 제2 프레임(920)은 제1 프레임(910) 이후의 프레임이며, 제1 프레임(910) 및 제2 프레임(920) 사이에는 복수의 프레임들이 더 포함될 수 있으나, 설명의 편의를 위해 생략되었다.9B shows a
제1 프레임(910) 이전의 다른 프레임들로부터 제1 프레임(910)까지의 프레임들에 기초하여 생성된 궤적들(912)을 참조하면, 카메라의 시야 궤적은 왼쪽에서 오른쪽 방향으로 이동한 궤적이 생성되었고, 사용자의 왼손 움직임 궤적은 왼쪽에서 오른쪽 방향으로 이동한 궤적이 생성되었으며, 사용자의 오른손 움직임 궤적은 오른쪽에서 왼쪽 방향으로 이동한 궤적이 생성되었다.Referring to the
또한, 제1 프레임(910) 이후의 프레임들로부터 제2 프레임(920)까지의 프레임들에 기초하여 생성된 궤적들(922)을 참조하면, 카메라의 시야 궤적 및 사용자의 왼손 움직임 궤적은 오른쪽 방향으로 더 이동한 궤적이 생성되었고, 사용자의 오른손 움직임 궤적은 왼쪽 방향으로 더 이동한 궤적이 생성되었다.In addition, referring to the
도 9c를 이용하여, 전자 장치(2000)가 제2 프레임(920) 이후의 다른 프레임들을 이용하는 동작을 더 설명한다.An operation of the
도 9c는 본 개시의 일 실시예에 따른 전자 장치가 카메라의 시야 궤적과 사용자의 손 움직임 궤적을 비교하는 동작을 설명하기 위한 도면이다.9C is a diagram for explaining an operation of comparing a camera's field of view trajectory and a user's hand movement trajectory by an electronic device according to an embodiment of the present disclosure.
도 9c는, 비디오에 포함되는 제3 프레임(930) 및 제4 프레임(940)을 도시한 것이다. 제3 프레임(930)은 제2 프레임(920) 이후의 프레임이며, 제2 프레임(920) 및 제3 프레임(930) 사이에는 복수의 프레임들이 더 포함될 수 있다. 또한, 제3 프레임(930) 및 제4 프레임(940) 사이에는 복수의 프레임들이 더 포함될 수 있다.9C shows a
제2 프레임(920) 이후의 프레임들로부터 제3 프레임(930)까지의 프레임들에 기초하여 생성된 궤적들(932)을 참조하면, 카메라 및 객체들의 이동 방향이 전환됨에 따라 추가로 궤적들이 생성되었다. 예를 들어, 카메라의 시야 궤적은 오른쪽에서 왼쪽 방향으로 이동한 궤적이 추가로 생성되었고, 사용자의 왼손 움직임 궤적 또한 오른쪽에서 왼쪽 방향으로 이동한 궤적이 추가로 생성되었으며, 사용자의 오른손 움직임 궤적은 왼쪽에서 오른쪽 방향으로 이동한 궤적이 추가로 생성되었다.Referring to the
또한, 제3 프레임(930) 이후의 프레임들로부터 제4 프레임(940)까지의 프레임들에 기초하여 생성된 궤적들(9442)을 참조하면, 카메라의 시야 궤적 및 사용자의 왼손 움직임 궤적은 왼쪽 방향으로 더 이동한 궤적이 생성되었고, 사용자의 오른손 움직임 궤적은 오른손 방향으로 더 이동한 궤적이 생성되었다.In addition, referring to the trajectories 9442 generated based on the frames from the
일 실시예에 따른 전자 장치(2000)는, 카메라의 시야 궤적 및 비디오의 프레임들을 이용하여 검출된 객체들의 궤적에 기초하여, 사용자의 손 후보를 결정할 수 있다. 구체적으로, 전자 장치(2000)는 카메라의 시야 이동 궤적과 기 설정된 값 이상의 상관 계수를 갖는 객체 궤적을 식별하고, 식별된 객체를 사용자의 손 후보로 결정한다. 도 9b 및 도 9c의 예시에서, 사용자의 왼손 움직임은 카메라의 움직임과 유사하게 움직이므로, 전술한 실시예들에 따라 궤적 간 상관 관계가 있는 것으로 식별될 수 있고, 따라서 사용자의 손 후보로 결정될 수 있다. 또한, 사용자의 오른손 움직임은 카메라의 움직임과 반대로 움직이지만, 전술한 실시예들에 따라 궤적 간 상관 관계가 있는 것으로 식별될 수 있으며, 사용자의 손 후보로 결정될 수 있다. 전자 장치(2000)가 궤적들을 비교하는 동작들은 전술하였으므로, 동일한 설명은 생략한다.The
도 10은 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 결정하는 동작을 설명하기 위한 도면이다.10 is a diagram for explaining an operation of determining a user's hand by an electronic device according to an embodiment of the present disclosure.
전자 장치(2000)는 머리 움직임 궤적(1010)을 획득할 수 있다. 머리 움직임 궤적(1010)은 센서 기반 데이터 및/또는 이미지 기반 데이터에 기초하여, 사용자의 머리 움직임 궤적(1010)을 생성할 수 있다. 이는, 전술하였으므로, 동일한 설명은 생략한다.The
전자 장치(2000)는 손 후보 궤적(1020)을 획득할 수 있다. 손 후보 궤적(1020)이란, 전술한 실시예들에 따라, 객체의 궤적 및/또는 카메라의 시야 이동 궤적에 기초하여, 비디오의 프레임들 내에서 식별된 하나 이상의 객체들 중에서 사용자의 손 후보로 결정된 객체의 궤적을 말한다. 즉, 결정된 사용자의 손 후보에 대응하는 객체 궤적을 말한다. 이는, 전술하였으므로, 동일한 설명은 생략한다.The
전자 장치(2000)는 머리 움직임 궤적(1010) 및 손 후보 궤적(1020)을 모아 궤적 클러스터(1030)를 생성할 수 있다. 전자 장치(2000)는 궤적 매칭(1040) 작업을 통해, 사용자의 손 후보들 중에서 사용자의 손을 결정할 수 있다. 예를 들어, 전자 장치(2000)는 머리 움직임 궤적(1010) 및 손 후보 궤적(1020) 간의 상관 계수를 계산할 수 있다. 전자 장치(2000)는 상관 관계를 찾기 위한 다양한 알고리즘을 이용할 수 있다. 또한, 전자 장치(2000)는 상관 계수 계산을 위한 신호 처리를 수행할 수 있다. 이러한 신호 처리는 예를 들어, 동적 시간 워핑(Dynamic Time Warping; DTW) 등이 이용될 수 있으나, 이에 한정되는 것은 아니다.The
일 실시예에 따른 전자 장치(2000)는 사용자의 손 후보에 대응하는 객체 궤적인 손 후보 궤적들(1020) 중에서, 머리 움직임 궤적(1010)과 상관 관계가 높은 궤적을 식별하고, 식별된 궤적에 대응하는 객체를 사용자의 손으로 결정할 수 있다. 이 경우, 결정된 손에 대응하는 객체 궤적은 손 움직임 궤적(1050)으로 지칭될 수 있다.The
일 실시예에서, 전자 장치(2000)는 결정된 사용자의 손이 왼손인지 오른손인지 여부를 결정할 수 있다. 전자 장치(2000)는 인공지능 모델을 이용한 객체(손) 인식 결과 및/또는 객체(손)의 특징점, 객체(손)의 포즈 추정 결과, 손 움직임 궤적(1050) 중 적어도 하나에 기초하여 사용자의 손이 왼손인지 오른손인지 여부를 결정할 수 있다.In an embodiment, the
일 실시예에 따른 전자 장치(2000)는 사용자의 손 움직임 궤적(1050)을 추적하고, 제스처 인식할 수 있다. 전자 장치(2000)는 제스처 인식에 기초하여 사용자의 제스처에 따른 제어 명령을 실행할 수 있다.The
도 11a는 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 인식하기 위한 아키텍처를 개괄적으로 도시한 도면이다.11A is a diagram schematically illustrating an architecture for recognizing a user's hand by an electronic device according to an embodiment of the present disclosure.
도 11a는 전술한 실시예들의 연결 관계를 전반적으로 설명하기 위한 도면이므로, 전술한 것과 동일한 내용들의 설명은 생략될 것이다.Since FIG. 11A is a diagram for generally explaining the connection relationship of the above-described embodiments, description of the same contents as described above will be omitted.
일 실시예에서, 전자 장치(2000)는 머리에 착용 가능한 HMD일 수 있다. 전자 장치(2000)는 센서(1110) 및 카메라(1120)를 포함할 수 있으나, 이에 한정되는 것은 아니며, 센서(1110) 및 카메라(1120)는 전자 장치(2000)의 외부에 위치하여 전자 장치(2000)로 데이터를 제공할 수 있다.In one embodiment, the
일 실시예에서, 전자 장치(2000)는 센서(1110)를 이용하여 획득된 센서 데이터에 기초하여, 사용자의 머리 움직임 궤적(1112)을 생성할 수 있다.In an embodiment, the
일 실시예에서, 전자 장치(2000)는 카메라(1120)를 이용하여 획득된 비디오의 이미지 프레임들(1122)로부터, 비디오 내에 존재하는 하나 이상의 객체에 대하여 객체 특징 추출(1130) 작업을 수행할 수 있다. 예를 들어, 비디오의 이미지 프레임들(1122) 내에는, 제1 객체(1154) 및 제2 객체(1145)가 포함될 수 있다. 전자 장치(2000)가 객체 특징 추출(1130)을 한 결과, 이미지 프레임 내에서 특징점(들) (1132) 이 식별될 수 있다. 설명의 편의를 위해 또다른 특징점들에 대한 식별번호는 생략한다.In an embodiment, the
일 실시예에서, 전자 장치(2000)는 객체 특징 추출(1130) 작업을 수행한 이후에, 객체 특징점(들) (1132)을 이용하여, 궤적 추정 및 손 후보 결정(1140) 작업을 수행할 수 있다. 예를 들어, 궤적 추정 작업은 전자 장치(2000)가 카메라의 시야 궤적을 생성하고, 객체 궤적을 생성하는 것을 포함할 수 있다. 전자 장치(2000)는 비디오의 이미지 프레임들(1122)을 이용하여 카메라의 시야 궤적을 추정하고, 객체 특징점(들)(1132)을 이용하여 객체 궤적을 추정할 수 있다. 또한, 손 후보 결정 작업은 카메라의 시야 궤적 및 객체 궤적 간 상관관계를 분석하여, 비디오의 이미지 프레임들(1122) 내 존재하는 객체 중에서 사용자의 손일 가능성이 있는 객체를 선택하여, 손 후보를 결정하는 것을 포함할 수 있다. 전자 장치(2000)는 손 후보에 대응하는 객체 궤적(이하, 손 움직임 궤적(1144))을 식별할 수 있다.In an embodiment, the
일 실시예에서, 전자 장치(2000)는 머리 움직임 궤적(1112) 및 손 움직임 궤적(1144)의 매칭(1150) 작업을 수행할 수 있다. 전자 장치(2000)는 머리 움직임 궤적(1112) 및 손 움직임 궤적(1144) 간 상관관계를 분석하여, 손 후보 중에서 사용자의 손을 결정할 수 있다. 예를 들어, 전자 장치(2000)가 사용자의 손을 결정한 결과, 이미지 프레임들(1122) 내의 제1 객체(1154)는 전자 장치(2000)의 사용자가 아닌 다른 사람의 손으로 결정되고, 제2 객체(1156)는 전자 장치(2000)의 사용자의 손으로 결정될 수 있다.In an embodiment, the
일 실시예에서, 전자 장치(2000)는 결정된 사용자의 손을 추적하면서, 제스처 인식(1160) 작업을 수행할 수 있다. 전자 장치(2000)에는 각각의 제스처마다 대응하는 제어 명령이 저장되어 있을 수 있다. 일 실시예에 따른 전자 장치(2000)는 다른 사람의 것으로 결정된 손의 제스처에 대해서는 제어 명령을 실행하지 않고, 전자 장치(2000)의 사용자의 것으로 결정된 손의 제스처에 대해서만 제어 명령을 실행할 수 있다.In an embodiment, the
도 11b는 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 인식하기 위한, 또다른 아키텍처를 개괄적으로 도시한 도면이다.11B is a diagram schematically illustrating another architecture for recognizing a user's hand by an electronic device according to an embodiment of the present disclosure.
도 11b를 설명함에 있어서, 도 11a에서 설명한 것과 동일한 내용은 생략한다.In the description of FIG. 11B, the same contents as those described in FIG. 11A are omitted.
일 실시예에서, 전자 장치(2000)는 사용자의 손에 위치한 제2 전자 장치인 웨어러블 디바이스(3000)로부터 데이터를 수신할 수 있다. 웨어러블 디바이스(3000)는 센서(예를 들어, IMU 센서 등)를 포함할 수 있다. 전자 장치(2000)는 웨어러블 디바이스(3000)로부터 수신되는 센서 데이터에 기초하여, 사용자의 손 움직임 궤적(1144)을 생성할 수 있다. 다만, 이에 한정되는 것은 아니며, 웨어러블 디바이스(3000)로부터 사용자의 손 움직임 궤적(1144)이 생성되어 전자 장치(2000)로 제공될 수도 있다.In an embodiment, the
일 실시예에서, 전자 장치(2000)는 도 11a에서 전술한 것과 같이, 궤적 추정 및 손 후보 결정(1140) 작업을 수행할 수 있다. 전자 장치(2000)는 웨어러블 디바이스(3000)로부터 수신된 센서 데이터에 기초한 손 움직임 궤적(1144)이 생성된 것에 기초하여, 해당 손 움직임 궤적(1144)에 대응하는 객체는 카메라 시야 궤적과의 상관관계 계산을 생략하고 바로 손 후보로 결정할 수 있다. 예를 들어, 전자 장치(2000)는 비디오의 이미지 프레임들(1122) 내의 제3 객체(1158) 손 후보로 결정할 수 있다. 또한, 전자 장치(2000)는 도 11a에서 전술한 것과 같이, 머리 움직임 궤적(1112) 및 손 움직임 궤적(1144)의 매칭(1150) 작업을 수행할 수 있다. 이 경우, 전자 장치(2000)는 웨어러블 디바이스(3000)로부터 수신된 센서 데이터에 기초한 손 움직임 궤적(1144)을 머리 움직임 궤적(1112)과 비교함으로써 상관계수를 계산하고, 계산 결과에 기초하여 해당 객체를 사용자의 손으로 결정할 수 있다. 예를 들어, 전자 장치(2000)는 상관계수가 기 설정된 값 이상인 것에 기초하여, 비디오의 이미지 프레임들(1122) 내의 제3 객체(1158)를 사용자의 손으로 결정할 수 있다.In an embodiment, the
한편, 일 실시예에서, 전자 장치(2000)는 웨어러블 디바이스(3000)가 착용된 손에 대하여 다른 방식으로 사용자의 손을 결정할 수도 있다. 예를 들어, 전자 장치(2000)는 이미지 프레임들(1122) 내에서 웨어러블 디바이스(3000)를 식별(예를 들어, 객체 인식 인공지능 모델 등을 이용)하고, 웨어러블 디바이스(3000)로부터 수신되는 식별 정보에 기초하여, 사용자의 손을 결정할 수 있다. 다른 예에서, 전자 장치(2000)는 웨어러블 디바이스(3000)로부터 수신된 센서 데이터에 기초한 손 움직임 궤적(1144)에 대해서는, 손 후보로 결정하는 단계를 생략하고, 바로 사용자의 손으로 결정할 수도 있다.Meanwhile, in an embodiment, the
일 실시예에서, 비디오의 이미지 프레임들(1122) 내의 제2 객체(1156)는, 웨어러블 디바이스(3000)를 착용하지 않은 사용자의 손이므로, 전자 장치(2000)는 도 11a에서 설명한 동작들에 기초하여 제2 객체(1156)를 사용자의 손으로 결정할 수 있다. 또한, 비디오의 이미지 프레임들(1122) 내의 제3 객체(1158)는 웨어러블 디바이스(3000)를 착용한 사용자의 손이므로, 전자 장치(2000)는 도 11b에서 설명한 동작들에 기초하여 제3 객체(1158)를 사용자의 손으로 결정할 수 있다.In one embodiment, since the
한편, 일 실시예에서, 전자 장치(2000)는 결정된 사용자의 손이 왼손인지 오른손인지 여부를 결정할 수 있다. 예를 들어, 전자 장치(2000)는 제2 객체(1156)는 오른손이고, 제3 객체(1158)는 왼손임을 결정할 수 있다.Meanwhile, in an embodiment, the
도 12는 본 개시의 일 실시예에 따른 전자 장치(2000)가 복수의 사용자들 및 그들의 손을 구별하는 동작을 설명하기 위한 도면이다.12 is a diagram for explaining an operation of distinguishing a plurality of users and their hands by the
일 실시예에서, 전자 장치(2000)는 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))를 촬영한 비디오를 획득할 수 있다. 전자 장치(2000)는 전자 장치(2000)에 포함되는 카메라(1210)를 이용하여 비디오를 획득하거나, 또는, 전자 장치(2000)의 외부에 있는 카메라(1210)로부터 촬영된 비디오를 제공받을 수 있다.In an embodiment, the
일 실시예에서, 전자 장치(2000)는 비디오에 포함되는 이미지 프레임들(1220)을 분석할 수 있다.In one embodiment, the
전자 장치(2000)는 머리/얼굴 인식(1230) 작업을 수행할 수 있다. 전자 장치(2000)는 이미지 프레임들(1220)을 전경 프레임들 및 배경 프레임들로 분리하고, 전경 프레임들 내의 복수의 전경 객체들로부터, 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))의 얼굴 특징점들을 검출할 수 있다.The
일 실시예에서, 전자 장치(2000)는 객체 특징 검출 모델을 이용하여 얼굴 특징점들을 검출할 수 있다. 전자 장치(2000)는 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))의 얼굴 특징점들에 기초하여, 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))의 머리 움직임 궤적(1232)을 획득할 수 있다. 구체적인 예를 들면, 전자 장치(2000)는 제1 사용자의 머리(1201-1), 제2 사용자의 머리(1202-1) 및 제3 사용자의 머리(1203-1)를 각각 식별하고, 제1 사용자의 머리 움직임 궤적(1232-1), 제2 사용자의 머리 움직임 궤적(1232-2) 및 제3 사용자의 머리 움직임 궤적(1232-3)을 획득할 수 있다. 전자 장치(2000)가 머리 움직임 궤적을 획득하는 구체적인 동작은 전술한 실시예들에서 이미 설명하였으므로, 동일한 설명은 생략한다. 한편, 후술되는 것과 같이, 각각의 머리가 어느 사용자의 머리인지 및 해당 사용자의 손은 무엇인지를 식별하는 것은, 움직임 패턴 매칭(1260) 작업을 통해 수행될 수 있다.In an embodiment, the
전자 장치(2000)는 손 인식(1240) 작업을 수행할 수 있다. 전자 장치(2000)는 이미지 프레임들(1220)을 전경 프레임들 및 배경 프레임들로 분리하고, 전경 프레임들 내의 복수의 전경 객체들로부터, 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))의 손 특징점들을 검출할 수 있다.The
일 실시예에서, 전자 장치(2000)는 객체 특징 검출 모델을 이용하여 손 특징점들을 검출할 수 있다. 전자 장치(2000)는 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))의의 손 특징점들에 기초하여, 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))의 손 움직임 궤적(1242)을 획득할 수 있다. 구체적인 예를 들면, 전자 장치(2000)는 제1 사용자의 오른손(1201-2), 제2 사용자의 오른손(1202-2), 제2 사용자의 왼손(1202-3) 및 제3 사용자의 오른손(1203-2)을 각각 식별하고, 제1 사용자의 오른손 움직임 궤적(1242-1), 제2 사용자의 오른손 움직임 궤적, 제2 사용자의 왼손 움직임 궤적 및 제3 사용자의 오른손 움직임 궤적(1242-2)을 식별할 수 있다.In an embodiment, the
도 12에서, 제2 사용자의 왼손 움직임 궤적 및 오른손 움직임 궤적은 생략되었다. 전자 장치(2000)가 손 움직임 궤적을 획득하는 구체적인 동작은 전술한 실시예들에서 이미 설명하였으므로, 동일한 설명은 생략한다. 한편, 후술되는 것과 같이, 각각의 머리가 어느 사용자의 머리인지 및 해당 사용자의 손은 무엇인지를 식별하는 것은, 움직임 패턴 매칭(1260) 작업을 통해 수행될 수 있다.In FIG. 12 , the movement trajectories of the second user's left hand and right hand are omitted. Since the detailed operation of acquiring the hand movement trajectory by the
전자 장치(2000)는 골격 기반 손 및 얼굴 연결(1250) 작업을 수행할 수 있다. 전자 장치(2000)는 객체 특징 검출 모델 및/또는 특징 추출 알고리즘을 이용하여, 이미지 프레임들(1220) 내에서 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))의 머리, 손 등의 특징점들을 검출함으로써, 신체 주요 특징점들을 연결한 골격 데이터를 생성할 수 있다. 전자 장치(2000) 골격 데이터를 움직임 패턴 매칭(1260) 작업에서 사용자의 손 및 얼굴을 연결하는 데 보조적인 데이터로써 활용할 수 있다. 일 실시예에서, 골격 기반 손 및 얼굴 연결(1250) 작업은 생략될 수 있다.The
전자 장치(2000)는 움직임 패턴 매칭(1260) 작업을 수행할 수 있다. 전자 장치(2000)는 사용자의 머리 움직임 궤적 및 손 움직임 궤적을 비교하여, 머리 움직임 궤적과 손 움직임 궤적을 매칭할 수 있다. 여기서, 궤적을 매칭한다는 것은, 머리 움직임 궤적과 손 움직임 궤적이 유사하여 상관 계수가 높은 것으로 식별되는 것일 수 있으나, 이에 한정되는 것은 아니며, 궤적이 유사하지 않더라도 하나의 사용자의 머리 움직임 및 손 움직임으로 식별되는 경우도 포함할 수 있다.The
일 실시예에서, 전자 장치(2000)는 움직임 패턴 매칭(1260) 작업을 수행할 때, 전술한 골격 데이터를 더 이용할 수 있다. 전자 장치(2000)는 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))의 손 후보들을 결정하고, 움직임 패턴 매칭(1260) 작업을 수행함으로써, 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))의 손 후보들을 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303))의 얼굴과 연관시킴으로써, 복수의 사용자들의 손을 결정할 수 있다.In an embodiment, the
일 실시예에 따른 전자 장치(2000)는 사용자별로 매칭된 얼굴 및 손에 기초하여, 전자 장치(2000)의 제어 동작을 수행할 수 있다. 예를 들어, 제2 사용자(1202)만이 전자 장치(2000)의 제어 권한을 가진 사용자인 경우, 전자 장치(2000)는 제2 사용자(1202)의 제스처만을 제어 명령으로 인식하여 제어 동작을 수행할 수 있다. 일 실시예에서, 전자 장치(2000)는 제1 사용자(1201), 제2 사용자(1202) 및 제3 사용자(1203)의 각각의 제스처를 별개로 인식하고, 각각의 사용자의 제스처로부터 제어 명령을 인식하여 제어 동작을 수행할 수 있다.The
일 실시예에서, 복수의 사용자들(제1 사용자(1201), 제2 사용자(1202), 제3 사용자(1303)) 각각에는, 서로 다른 제어 권한이 설정되어 있을 수 있다. 전자 장치(2000)는 전자 장치(2000)의 제어를 위한 제스처가 어느 사용자의 손인지 식별하고, 식별된 사용자의 제어 권한 레벨을 식별하며, 그에 따른 제어 동작을 수행할 지 여부를 결정할 수 있다.In one embodiment, different control authorities may be set for each of the plurality of users (the
도 13은 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 인식하는 예시적인 상황을 설명하기 위한 도면이다.13 is a diagram for explaining an exemplary situation in which an electronic device recognizes a user's hand, according to an embodiment of the present disclosure.
일 실시예에서, 전자 장치(2000)는 머리에 착용가능한 HMD(예를 들어, AR Glass 등)일 수 있다. 전자 장치(2000)는 전술한 실시예들에 따라 사용자의 손을 결정하고, 결정된 사용자의 손을 추적하여 제스처를 인식할 수 있다. 전자 장치(2000)는 인식된 제스처에 기초하여 제어 동작을 수행할 수 있다.In one embodiment, the
예를 들어, 전자 장치(2000)가 증강 현실을 제공하는 AR Glass인 경우, 전자 장치(2000)는 실제 현실 장면에 증강 객체 등을 사용자에게 제공할 수 있다. 이 경우, 전자 장치(2000)의 카메라 시야(1300)에는, 사용자의 손(1320) 및 다른 사람의 손(1310)이 포함될 수 있다. 그러나, 전자 장치(2000)가 사용자의 손을 결정하지 않으면, 전자 장치(2000)는 다른 사람의 손(1310)의 제스처에 의해서도 제어될 수 있다. 이에 따라, 전자 장치(2000)의 사용자가 의도하지 않은 제어 동작이 수행될 수 있다. 따라서, 전자 장치(2000)는 카메라 시야(1300) 내에서 사용자(1320)의 손이 무엇인지를 결정할 필요가 있다.For example, if the
전자 장치(2000)는 전술한 실시예들에서 서술한 동작들을 통해, 카메라 시야(1300) 내에서 다른 사람의 손(1310) 및 사용자의 손(1320)을 구별하고, 사용자의 손만을 인식할 수 있다.The
도 14는 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 인식하는 예시적인 상황을 설명하기 위한 도면이다.14 is a diagram for explaining an exemplary situation in which an electronic device recognizes a user's hand, according to an embodiment of the present disclosure.
도 14의 예시적인 상황은, 전자 장치(2000)가 사용자들로부터 이격된 제3 위치에 위치하여, 사용자들의 제스처를 인식하고 인터랙션 하는 동작을 설명하기 위한 도면이다.The exemplary situation of FIG. 14 is a diagram for explaining an operation in which the
일 실시예에서, 전자 장치(2000)는 디스플레이 및 카메라를 포함하는 장치(예를 들어, TV 등)일 수 있다. 전자 장치(2000)는 전술한 실시예들에 따라 사용자의 손을 결정하고, 결정된 사용자의 손을 추적하여 제스처를 인식할 수 있다. 전자 장치(2000)는 인식된 제스처에 기초하여 제어 동작을 수행할 수 있다.In one embodiment, the
일 실시예에서, 복수의 사용자들(제1 사용자(1410), 제2 사용자(1420) 및 제3 사용자(1430))이 전자 장치(2000)를 시청하는 경우, 전자 장치(2000)는 복수의 사용자들 각각의 손을 결정할 수 있다.In an embodiment, when a plurality of users (a
전자 장치(2000)가 복수의 사용자들(제1 사용자(1410), 제2 사용자(1420) 및 제3 사용자(1430)) 각각에 대하여 각각의 사용자의 손을 결정한 결과를 예시로 설명하면, 전자 장치(2000)는 제1 사용자(1410)에 대하여 제1 사용자의 머리(1412)와 제1 사용자의 손(1414)을 매칭하고, 제2 사용자(1420)에 대하여 제2 사용자의 머리(1422)와 제2 사용자의 손(1424)을 매칭하고, 제3 사용자(1430)에 대하여 제3 사용자의 머리(1432)와 제3 사용자의 손(1434)을 매칭할 수 있다. 전자 장치(2000)가 복수의 사용자들(제1 사용자(1410), 제2 사용자(1420) 및 제3 사용자(1430))의 손을 결정하는 동작은 도 12에 대한 설명에서 전술하였으므로, 동일한 설명은 생략한다.When the
일 실시예에 따른 전자 장치(2000)는 사용자별로 매칭된 얼굴 및 손에 기초하여, 전자 장치(2000)의 제어 동작을 수행할 수 있다. 예를 들어, 제1 사용자(1410)만이 전자 장치(2000)의 제어 권한을 가진 사용자인 경우, 전자 장치(2000)는 제1 사용자(1410)의 제스처만을 제어 명령으로 인식하여 제어 동작을 수행할 수 있다. 일 실시예에서, 전자 장치(2000)는 제1 사용자(1410), 제2 사용자(1420) 및 제3 사용자(1430)의 각각의 제스처를 별개로 인식하고, 각각의 사용자의 제스처로부터 제어 명령을 인식하여 제어 동작을 수행할 수 있다.The
일 실시예에서, 복수의 사용자들(제1 사용자(1410), 제2 사용자(1420), 제3 사용자(1430)) 각각에는, 서로 다른 제어 권한이 설정되어 있을 수 있다. 전자 장치(2000)는 전자 장치(2000)의 제어를 위한 제스처가 어느 사용자의 손인지 식별하고, 식별된 사용자의 제어 권한 레벨을 식별하며, 그에 따른 제어 동작을 수행할 지 여부를 결정할 수 있다.In one embodiment, different control authorities may be set for each of the plurality of users (
도 15는 본 개시의 일 실시예에 따른 전자 장치가 사용자의 손을 인식하는 예시적인 상황을 설명하기 위한 도면이다.15 is a diagram for explaining an exemplary situation in which an electronic device recognizes a user's hand, according to an embodiment of the present disclosure.
도 15의 예시적인 상황은, 도 14와 같이 전자 장치(2000)가 사용자들로부터 이격된 제3 위치에 위치하여, 사용자들의 제스처를 인식하고 인터랙션 하는 동작을 설명하기 위한 도면이다.The exemplary situation of FIG. 15 is a diagram for explaining an operation in which the
일 실시예에서, 전자 장치(2000)는 로봇일 수 있다. 전자 장치(2000)는 전술한 실시예들에 따라 사용자의 손을 결정하고, 결정된 사용자의 손을 추적하여 제스처를 인식할 수 있다. 전자 장치(2000)는 인식된 제스처에 기초하여 제어 동작을 수행할 수 있다. 예를 들어, 전자 장치(2000)는 제1 사용자(1510)에 대하여 제1 사용자의 머리(1512)와 제1 사용자의 손(1514)을 매칭하고, 제2 사용자(1520)에 대하여 제2 사용자의 머리(1522)와 제2 사용자의 손(1524)을 매칭할 수 있다. 전자 장치(2000)가 복수의 사용자들 손을 결정하는 동작은 도 12에 대한 설명에서 전술하였으므로, 동일한 설명은 생략한다.In one embodiment, the
일 실시예에 따른 전자 장치(2000)는 서로 다른 사용자들로부터 식별된 제스처 등을 기반으로 사용자별로 제어 동작을 분리하여 제어 동작을 수행할 수 있다.The
도 16은 본 개시의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.16 is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.
일 실시예에 따른 전자 장치(2000)는 통신 인터페이스(2100), 카메라(2200), 메모리(2300) 및 프로세서(2400)를 포함할 수 있다.An
통신 인터페이스(2100)는 프로세서(2400)의 제어에 의해 다른 전자 장치들과 데이터 통신을 수행할 수 있다.The
통신 인터페이스(2100)는 통신 회로를 포함할 수 있다. 통신 인터페이스(2100)는 예를 들어, 유선 랜, 무선 랜(Wireless LAN), 와이파이(Wi-Fi), 블루투스(Bluetooth), 지그비(ZigBee), WFD(Wi-Fi Direct), 적외선 통신(IrDA, infrared Data Association), BLE (Bluetooth Low Energy), NFC(Near Field Communication), 와이브로(Wireless Broadband Internet, Wibro), 와이맥스(World Interoperability for Microwave Access, WiMAX), SWAP(Shared Wireless Access Protocol), 와이기그(Wireless Gigabit Alliances, WiGig) 및 RF 통신을 포함하는 데이터 통신 방식 중 적어도 하나를 이용하여, 전자 장치(2000)와 다른 디바이스들 간의 데이터 통신을 수행할 수 있는, 통신 회로를 포함할 수 있다.The
일 실시예에 따른 통신 인터페이스(2100)는 전자 장치(2000)의 사용자의 손 움직임 궤적 및 머리 움직임 궤적 등을 생성하기 위한 데이터를 외부 전자 장치와 송수신할 수 있다. 예를 들어, 통신 인터페이스(2100)는 전자 장치(2000)의 사용자의 머리에 위치한 센서로부터 센서 데이터를 획득할 수 있다. 또한, 전자 장치(2000)는 사용자의 손에 위치한 센서로부터 센서 데이터를 획득할 수 있다. 사용자의 머리 및/또는 손에 위치한 센서는, 통신 기능 지원하는 별개의 센서로 존재하거나, 전자 장치(2000)와 별개의 전자 장치(예를 들어, 웨어러블 디바이스 등) 등에 포함될 수 있다. 또는, 전자 장치(2000)는 외부 전자 장치로부터 비디오 및/또는 이미지를 획득할 수 있다.The
카메라(2200)는 객체를 촬영하여 비디오 및/또는 이미지를 획득할 수 있다. 카메라(2200)는 하나 이상일 수 있다. 카메라(2200)는 예를 들어, RGB 카메라, 깊이 카메라, 적외선 카메라 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 카메라(2200)는 복수의 프레임들을 포함하는 비디오를 획득할 수 있다. 카메라(2200)의 구체적인 종류 및 세부 기능은 통상의 기술자가 명확하게 추론할 수 있으므로, 설명을 생략한다.The
메모리(2300)는 프로세서(2400)가 판독할 수 있는 명령어들, 데이터 구조, 및 프로그램 코드(program code)가 저장될 수 있다. 메모리(2300)는 하나 이상일 수 있다. 개시된 실시예들에서, 프로세서(2400)가 수행하는 동작들은 메모리(2300)에 저장된 프로그램의 명령어들 또는 코드들을 실행함으로써 구현될 수 있다.The
메모리(2300)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등)를 포함할 수 있으며, 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나를 포함하는 비 휘발성 메모리 및 램(RAM, Random Access Memory) 또는 SRAM(Static Random Access Memory)과 같은 휘발성 메모리를 포함할 수 있다.The
일 실시예에 따른 메모리(2300)는 전자 장치(2000)가 사용자의 손을 결정하기 위해 동작하도록 하는 하나 이상의 인스트럭션 및/또는 프로그램을 저장할 수 있다. 예를 들어, 메모리(2300)에는 비디오 처리 모듈(2310), 객체 분석 모듈(2320), 궤적 추정 모듈(2330) 및 손 결정 모듈(2340)이 저장될 수 있다.The
프로세서(2400)는 전자 장치(2000)의 전반적인 동작들을 제어할 수 있다. 예를 들어, 프로세서(2400)는 메모리(2300)에 저장된 프로그램의 하나 이상의 명령어들(instructions)을 실행함으로써, 전자 장치(2000)가 비디오 및/또는 이미지에서 사용자의 손을 결정하기 위한 전반적인 동작들을 제어할 수 있다. 프로세서(2400)는 하나 이상일 수 있다.The
프로세서(2400)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 처리 장치(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 애플리케이션 프로세서(Application Processor), 신경망 처리 장치(Neural Processing Unit) 또는 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서 중 적어도 하나로 구성될 수 있으나, 이에 제한되는 것은 아니다.The
프로세서(2400)는 비디오 처리 모듈(2310)을 실행하여, 비디오에 포함되는 하나 이상의 프레임들을 처리할 수 있다. 프로세서(2400)는 비디오의 프레임들로부터 전경 객체를 추출하여, 전경 객체를 포함하는 전경 프레임들 및 전경 객체를 제외한 배경 프레임들을 획득할 수 있다. 일 실시예에서, 프로세서(2400)는 비디오에 포함되는 프레임들 중에서, 전경 및 배경을 분리할 프레임들을 선택할 수 있다. 예를 들어, 프로세서(2400)는 시간순으로 나열된 프레임들 중에서, 기 설정된 간격으로 일부의 프레임들만을 추출하여, 전경 및 배경 분리 처리를 수행할 수 있다.The
프로세서(2400)는 객체 분석 모듈(2320)을 실행하여, 이미지 내 프레임들에 포함되는 객체를 분석할 수 있다. 객체 분석 모듈은 객체 검출 모델 및/또는 객체 특징점 검출 모델을 포함할 수 있다. 객체 검출 모델은, 이미지를 입력 받아, 객체를 검출(예를 들어, 손, 얼굴 등)한 결과를 출력하는 인공지능 모델일 수 있다. 객체 검출 모델은 객체를 검출하기 위해 객체에 관련된 정보(예를 들어, 객체의 카테고리 등)가 주석된 훈련 데이터셋을 이용하여 훈련된 인공지능 모델일 수 있다. 객체 특징 검출 모델은, 이미지를 입력 받아, 객체의 특징점을 검출(예를 들어, 손 특징점, 얼굴 특징 점)한 결과를 출력하는 인공지능 모델일 수 있다. 객체 특징 검출 모델은 여러 객체의 카테고리 별로 객체의 특징점들이 주석(annotation)된 훈련 데이터셋을 이용하여 훈련된 것일 수 있다. 일 실시예에서, 프로세서(2400)는 객체의 특징점들을 검출할 때, 객체의 카테고리를 먼저 식별하고, 식별된 카테고리에 대응하는 특징점들을 검출할 수 있다. 예를 들어, 프로세서(2400)는 전경 프레임들 내에서 객체 '손'을 식별하고, '손'의 특징점들을 검출할 수 있다.The
프로세서(2400)는 궤적 추정 모듈(2330)을 실행하여, 사용자의 손을 결정하기 위해 이용되는 궤적들을 추정/생성할 수 있다.
프로세서(2400)는 비디오 처리 모듈(2310)로부터 생성된 배경 프레임들을 이용하여 카메라의 시야 궤적을 추정할 수 있다.The
프로세서(2400)는 배경 프레임들 내 픽셀들을 비교할 수 있다. 이 경우, 배경 프레임들은 시간순으로 정렬된 프레임들일 수 있다. 프로세서(2400)는 배경 프레임들 내 픽셀들을 비교함으로써, 카메라의 촬영 시야 이동을 나타내는 시야 이동 정보를 획득할 수 있다. 프로세서(2400)는 시야 이동 정보에 기초하여, 전자 장치(2000)의 카메라의 시야 궤적을 결정할 수 있다.
프로세서(2400)는 사용자의 머리에 위치한 센서로부터 카메라의 이동 정보 및 회전 정보를 획득할 수 있다. 프로세서(2400)는 이동 정보 및 회전 정보에 기초하여 전자 장치(2000)의 카메라의 시야 궤적을 결정할 수 있다.The
프로세서(2400)는 비디오 처리 모듈(2310)로부터 생성된 전경 프레임들 및 객체 분석 모듈(2320)로부터 생성된 객체 특징점들에 기초하여, 객체 궤적을 추정할 수 있다. 프로세서(2400)는 하나의 객체에서 검출된 특징점들에 기초하여 전경 프레임들 내에서 객체(또는 객체의 특징점들)의 이동 정보를 획득할 수 있다. 프로세서(2400)는 객체의 이동 정보에 기초하여, 객체의 궤적을 결정할 수 있다. 구체적 예를 들면, 프레임 내 객체가 손, 머리/얼굴 등인 경우, 프로세서(2400)는 손, 머리/얼굴의 이동 정보를 획득하고, 손 움직임 궤적, 머리/얼굴 움직임 궤적을 결정할 수 있다.The
프로세서(2400)는 사용자의 머리에 위치한 센서로부터 사용자의 머리 움직임 정보를 획득할 수 있다. 프로세서(2400)는 사용자의 머리 움직임 정보에 기초하여 머리 움직임 궤적을 결정할 수 있다.The
프로세서(2400)는 사용자의 손에 위치한 센서로부터 사용자의 손 움직임 정보를 획득할 수 있다. 프로세서(2400)는 사용자의 손 움직임 정보에 기초하여 손 움직임 궤적을 결정할 수 있다.The
프로세서(2400)는 손 결정 모듈(2340)을 실행하여 사용자의 손을 결정할 수 있다.The
프로세서(2400)는 카메라의 시야 궤적 및 객체 궤적에 기초하여, 비디오 내에 포함되는 하나 이상의 객체 중에서 사용자의 손 후보를 결정한다. 일 실시예에서, 프로세서(2400)는 카메라의 시야 궤적 및 객체 궤적 간의 상관 계수가 기 설정된 값 이상인 것에 기초하여, 하나 이상의 객체들 중에서 사용자의 손 후보를 결정할 수 있다.The
프로세서(2400)는 사용자의 손 후보의 손 움직임 궤적(객체 궤적) 및 사용자의 머리 움직임 궤적에 기초하여, 사용자의 손을 결정할 수 있다. 예를 들어, 프로세서(2400)는 손 움직임 궤적이 생성된 것에 기초하여, 머리 움직임 궤적 및 손 움직임 궤적을 비교함으로써 사용자의 손을 결정할 수 있다. 프로세서(2400)는 사용자의 손 후보에 대응하는 객체 궤적 및 사용자의 머리 움직임 궤적 간의 상관 계수가 기 설정된 값 이상인 것에 기초하여, 사용자의 손 후보들 중에서 사용자의 손을 결정할 수 있다. 프로세서(2400)는 사용자의 손이 왼손인지 오른손인지 여부를 결정하할 수 있다.The
한편, 전술한 메모리(2300)에 저장된 모듈들은, 설명의 편의를 위한 것이며 반드시 이에 한정되는 것은 아니다. 전술한 실시예들을 구현하기 위해 다른 모듈이 추가될 수 있으며, 전술한 모듈들 중 일부의 모듈들은 하나의 모듈로 구현될 수도 있다. 일 실시예에 따른 전자 장치(2000)는 프로세서(2400) 및 메모리(2300)에 저장된 모듈들을 이용하여, 전자 장치(2000)를 사용하는 사용자의 손만을 인식한다. 전자 장치(2000)가 사용자의 손이 무엇인지 결정하면, 전자 장치(2000)는 사용자의 손을 추적하고 제스처를 인식할 수 있다. 일 실시예에서, 사용자의 손 제스처 유형 각각에는, 기 설정된 전자 장치(2000)에 대한 제어 명령이 저장되어 있을 수 있다. 전자 장치(2000)는 사용자의 손에 대한 제스처 인식에 기초하여, 전자 장치(2000)를 제어하기 위한 제어 명령을 실행할 수 있다. 이 경우, 전자 장치(2000)의 사용자 외 다른 사람이 전자 장치(2000)를 제어하기 위한 손 제스처를 취하더라도, 전자 장치(2000)는 다른 사람의 손을 사용자의 손으로 인식하지 않으므로, 제어 명령을 실행하지 않을 수 있다.Meanwhile, the modules stored in the above-described
제스처 인식을 통한 사용자 인터랙션 제공 방법에 있어서, 이미지 및/또는 비디오 내에 존재하는 다른 사람의 손에 영향을 받지 않고, 사용자의 손을 정확하게 결정하여 제스처 인식을 수행하기 위한 방법을 제시하고자 한다.In a method for providing user interaction through gesture recognition, a method for performing gesture recognition by accurately determining a user's hand without being affected by another person's hand existing in an image and/or video is proposed.
본 개시에서 이루고자 하는 기술적 과제는, 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problem to be achieved in the present disclosure is not limited to those mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below. will be.
본 개시의 일 측면에 따르면, 전자 장치가 비디오 내에서 사용자의 손을 결정하는 방법이 제공될 수 있다. 상기 방법은, 카메라를 이용하여 복수의 프레임들을 포함하는 비디오를 획득하는 단계를 포함할 수 있다. 상기 방법은, 비디오의 프레임들을 이용하여 상기 카메라의 시야(Field of View; FoV)의 이동을 나타내는 시야 궤적을 추정하는 단계를 포함할 수 있다. 상기 방법은, 상기 비디오의 프레임들 각각 내에서, 하나 이상의 객체의 특징점들을 검출하는 단계를 포함할 수 있다. 상기 방법은, 상기 하나 이상의 객체의 특징점들에 기초하여, 상기 하나 이상의 객체의 이동을 나타내는 객체 궤적을 추정하는 단계를 포함할 수 있다. 상기 방법은, 상기 카메라의 시야 궤적 및 상기 객체 궤적에 기초하여, 상기 하나 이상의 객체 중에서 사용자의 손 후보를 결정하는 단계를 포함할 수 있다. 상기 방법은, 상기 사용자의 머리의 움직임을 나타내는 머리 움직임 궤적을 획득하는 단계를 포함할 수 있다. 상기 방법은, 상기 사용자의 손 후보에 대응하는 상기 객체 궤적 및 상기 머리 움직임 궤적에 기초하여, 사용자의 손을 결정하는 단계를 포함할 수 있다. 상기 방법은, 상기 비디오 내에서 상기 결정된 사용자의 손을 추적하고 제스처를 인식하는 단계를 포함할 수 있다.According to one aspect of the present disclosure, a method for determining a user's hand in a video by an electronic device may be provided. The method may include acquiring a video including a plurality of frames using a camera. The method may include estimating a field of view trajectory representing movement of a field of view (FoV) of the camera using frames of video. The method may include detecting feature points of one or more objects within each of the frames of the video. The method may include estimating an object trajectory indicating a movement of the one or more objects based on feature points of the one or more objects. The method may include determining a hand candidate of the user from among the one or more objects based on the camera's field of view trajectory and the object trajectory. The method may include acquiring a head movement trajectory indicating a movement of the user's head. The method may include determining the hand of the user based on the object trajectory and the head movement trajectory corresponding to the hand candidate of the user. The method may include tracking a hand and recognizing a gesture of the determined user within the video.
상기 방법은, 상기 비디오의 프레임들 각각에 대하여 전경 객체를 추출함으로써, 전경 프레임들 및 배경 프레임들을 획득하는 단계를 더 포함할 수 있다.The method may further include obtaining foreground frames and background frames by extracting a foreground object for each of the frames of the video.
상기 카메라의 시야 궤적을 추정하는 단계는, 상기 배경 프레임들 내 픽셀들을 비교하여 상기 카메라 시야의 이동과 관련된, 시야 이동 정보를 획득하는 단계 및 상기 시야 이동 정보에 기초하여 상기 카메라의 시야 궤적을 결정하는 단계를 포함할 수 있다. 상기 하나 이상의 객체의 특징점들을 검출하는 단계는, 상기 전경 프레임들 내 상기 전경 객체로부터 상기 하나 이상의 객체의 특징점들을 추출하는 단계를 포함할 수 있다.The estimating of the camera view trajectory may include comparing pixels in the background frames to obtain view movement information related to the movement of the camera view, and determining the view view trajectory of the camera based on the view movement information. steps may be included. The detecting of the feature points of the one or more objects may include extracting the feature points of the one or more objects from the foreground objects in the foreground frames.
상기 머리 움직임 궤적을 획득하는 단계는, 상기 사용자의 머리에 위치한 제1 센서로부터 제1 센서 데이터를 획득하는 단계 및 상기 제1 센서 데이터에 기초하여, 상기 머리 움직임 궤적을 생성하는 단계를 포함할 수 있다.The obtaining of the head movement trajectory may include obtaining first sensor data from a first sensor located on the user's head and generating the head movement trajectory based on the first sensor data. there is.
상기 방법은, 상기 사용자의 손에 위치한 제2 전자 장치의 제2 센서로부터 제2 센서 데이터를 획득하는 단계 및 상기 제2 센서 데이터에 기초하여, 상기 사용자의 손의 움직임을 나타내는 손 움직임 궤적을 생성하는 단계를 더 포함할 수 있다.The method includes obtaining second sensor data from a second sensor of a second electronic device located on the user's hand and generating a hand movement trajectory representing the movement of the user's hand based on the second sensor data. It may further include steps to do.
상기 사용자의 손을 결정하는 단계는, 상기 제2 센서 데이터에 기초한 상기 손 움직임 궤적이 생성된 것에 기초하여, 상기 머리 움직임 궤적 및 상기 손 움직임 궤적을 비교함으로써 상기 사용자의 손을 결정하는 단계를 포함할 수 있다.The determining of the user's hand includes determining the user's hand by comparing the head movement trajectory and the hand movement trajectory based on the generated hand movement trajectory based on the second sensor data. can do.
상기 사용자의 손을 결정하는 단계는, 상기 사용자의 손 후보에 대응하는 상기 객체 궤적 및 상기 머리 움직임 궤적 간의 상관 계수를 계산하는 단계 및 상기 상관 계수가 기 설정된 값 이상인 것에 기초하여, 상기 사용자의 손 후보를 상기 사용자의 손으로 결정하는 단계를 포함할 수 있다.The determining of the user's hand may include calculating a correlation coefficient between the object trajectory and the head movement trajectory corresponding to the user's hand candidate, and based on the fact that the correlation coefficient is equal to or greater than a preset value, the user's hand It may include determining a candidate with the user's hand.
상기 하나 이상의 객체의 특징점들을 검출하는 단계는, 상기 전경 프레임들 내 복수의 전경 객체들로부터, 복수의 사용자들의 얼굴 특징점들 및 손 특징점들을 검출하는 단계를 포함할 수 있다. 상기 머리 움직임 궤적을 획득하는 단계는, 상기 복수의 사용자들의 얼굴 특징점들에 기초하여 상기 복수의 사용자들의 머리 움직임 궤적들을 획득하는 단계를 포함할 수 있다. 상기 사용자의 손을 결정하는 단계는, 상기 복수의 사용자들 각각에 대하여, 상기 복수의 사용자들의 손 후보들을 상기 복수의 사용자들의 얼굴들과 연관시킴으로써 상기 복수의 사용자들의 손을 결정하는 단계를 포함할 수 있다.The detecting of the feature points of the one or more objects may include detecting facial feature points and hand feature points of a plurality of users from the plurality of foreground objects in the foreground frames. The obtaining of the head movement trajectories may include obtaining head movement trajectories of the plurality of users based on facial feature points of the plurality of users. The determining of the hand of the user may include, for each of the plurality of users, determining the hand of the plurality of users by associating hand candidates of the plurality of users with faces of the plurality of users. can
상기 사용자의 손을 결정하는 단계는, 상기 사용자의 손이 왼손인지 오른손인지 여부를 결정하는 단계를 포함할 수 있다.The determining of the user's hand may include determining whether the user's hand is a left hand or a right hand.
상기 방법은, 제스처 인식에 기초하여 상기 전자 장치를 제어하기 위한 제어 명령을 실행하는 단계를 더 포함할 수 있다.The method may further include executing a control command for controlling the electronic device based on gesture recognition.
한편, 본 개시의 실시예들은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.Meanwhile, the embodiments of the present disclosure may be implemented in the form of a recording medium including instructions executable by a computer, such as program modules executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer readable media may include computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media may typically include computer readable instructions, data structures, or other data in a modulated data signal such as program modules.
또한, 컴퓨터에 의해 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.Also, the computer-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary storage medium' only means that it is a tangible device and does not contain signals (e.g., electromagnetic waves). It does not discriminate if it is saved as . For example, a 'non-temporary storage medium' may include a buffer in which data is temporarily stored.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be provided by being included in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store or between two user devices (eg smartphones). It can be distributed (e.g., downloaded or uploaded) directly or online. In the case of online distribution, at least a part of a computer program product (eg, a downloadable app) is stored on a device-readable storage medium such as a memory of a manufacturer's server, an application store server, or a relay server. It can be temporarily stored or created temporarily.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The description of the present disclosure described above is for illustrative purposes, and those skilled in the art can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present disclosure. will be. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the following claims rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts should be interpreted as being included in the scope of the present disclosure. do.
Claims (20)
카메라를 이용하여 복수의 프레임들을 포함하는 비디오를 획득하는 단계(S210);
상기 비디오의 프레임들을 이용하여 상기 카메라의 시야(Field of View; FoV)의 이동을 나타내는 시야 궤적을 추정하는 단계(S220);
상기 비디오의 프레임들 각각 내에서, 하나 이상의 객체의 특징점들을 검출하는 단계(S230);
상기 하나 이상의 객체의 특징점들에 기초하여, 상기 하나 이상의 객체의 이동을 나타내는 객체 궤적을 추정하는 단계(S240);
상기 카메라의 시야 궤적 및 상기 객체 궤적에 기초하여, 상기 하나 이상의 객체 중에서 사용자의 손 후보를 결정하는 단계(S250);
상기 사용자의 머리의 움직임을 나타내는 머리 움직임 궤적을 획득하는 단계(S260);
상기 사용자의 손 후보에 대응하는 상기 객체 궤적 및 상기 머리 움직임 궤적에 기초하여, 사용자의 손을 결정하는 단계(S270); 및
상기 비디오 내에서 상기 결정된 사용자의 손을 추적하고 제스처를 인식하는 단계(S280)를 포함하는, 방법.A method for an electronic device to determine a user's hand in a video,
Obtaining a video including a plurality of frames using a camera (S210);
estimating a field of view trajectory representing movement of a field of view (FoV) of the camera using the frames of the video (S220);
Detecting feature points of one or more objects within each frame of the video (S230);
estimating an object trajectory representing a movement of the one or more objects based on feature points of the one or more objects (S240);
determining a hand candidate of the user from among the one or more objects based on the trajectory of the camera's view and the trajectory of the object (S250);
obtaining a head movement trajectory representing the movement of the user's head (S260);
determining a user's hand based on the object trajectory and the head movement trajectory corresponding to the user's hand candidate (S270); and
Tracking the hand of the determined user in the video and recognizing a gesture (S280).
상기 방법은,
상기 비디오의 프레임들 각각에 대하여 전경 객체를 추출함으로써, 전경 프레임들 및 배경 프레임들을 획득하는 단계를 더 포함하는, 방법.According to claim 1,
The method,
The method further comprises obtaining foreground frames and background frames by extracting a foreground object for each of the frames of the video.
상기 카메라의 시야 궤적을 추정하는 단계는,
상기 배경 프레임들 내 픽셀들을 비교하여 상기 카메라의 시야의 이동과 관련된, 시야 이동 정보를 획득하는 단계; 및
상기 시야 이동 정보에 기초하여 상기 카메라의 시야 궤적을 결정하는 단계를 포함하고,
상기 하나 이상의 객체의 특징점들을 검출하는 단계는,
상기 전경 프레임들 내 상기 전경 객체로부터 상기 하나 이상의 객체의 특징점들을 추출하는 단계를 포함하는, 방법.According to claim 2,
The step of estimating the trajectory of the field of view of the camera,
comparing pixels in the background frames to obtain view movement information related to the movement of the camera's view; and
Determining a view trajectory of the camera based on the view movement information;
The step of detecting the feature points of the one or more objects,
Extracting feature points of the one or more objects from the foreground object in the foreground frames.
상기 머리 움직임 궤적을 획득하는 단계는,
상기 사용자의 머리에 위치한 제1 센서로부터 제1 센서 데이터를 획득하는 단계; 및
상기 제1 센서 데이터에 기초하여, 상기 머리 움직임 궤적을 생성하는 단계를 포함하는, 방법.According to any one of claims 1 to 3,
Obtaining the head movement trajectory,
obtaining first sensor data from a first sensor located on the head of the user; and
And generating the head movement trajectory based on the first sensor data.
상기 방법은,
상기 사용자의 손에 위치한 제2 전자 장치의 제2 센서로부터 제2 센서 데이터를 획득하는 단계; 및
상기 제2 센서 데이터에 기초하여, 상기 사용자의 손의 움직임을 나타내는 손 움직임 궤적을 생성하는 단계를 더 포함하는, 방법.According to any one of claims 1 to 4,
The method,
obtaining second sensor data from a second sensor of a second electronic device located on the user's hand; and
The method further comprises generating a hand movement trajectory representing a movement of the user's hand based on the second sensor data.
상기 사용자의 손을 결정하는 단계는,
상기 제2 센서 데이터에 기초한 상기 손 움직임 궤적이 생성된 것에 기초하여, 상기 머리 움직임 궤적 및 상기 손 움직임 궤적을 비교함으로써 상기 사용자의 손을 결정하는 단계를 포함하는, 방법.According to any one of claims 1 to 5,
The step of determining the user's hand,
And determining the hand of the user by comparing the head movement trajectory and the hand movement trajectory based on the generated hand movement trajectory based on the second sensor data.
상기 사용자의 손을 결정하는 단계는,
상기 사용자의 손 후보에 대응하는 상기 객체 궤적 및 상기 머리 움직임 궤적 간의 상관 계수를 계산하는 단계; 및
상기 상관 계수가 기 설정된 값 이상인 것에 기초하여, 상기 사용자의 손 후보를 상기 사용자의 손으로 결정하는 단계를 포함하는, 방법.According to any one of claims 1 to 6,
The step of determining the user's hand,
calculating a correlation coefficient between the object trajectory and the head motion trajectory corresponding to the hand candidate of the user; and
And determining the user's hand candidate as the user's hand based on the correlation coefficient being greater than or equal to a preset value.
상기 하나 이상의 객체의 특징점들을 검출하는 단계는,
상기 전경 프레임들 내 복수의 전경 객체들로부터, 복수의 사용자들의 얼굴 특징점들 및 손 특징점들을 검출하는 단계를 포함하고,
상기 머리 움직임 궤적을 획득하는 단계는,
상기 복수의 사용자들의 얼굴 특징점들에 기초하여 상기 복수의 사용자들의 머리 움직임 궤적들을 획득하는 단계를 포함하고,
상기 사용자의 손을 결정하는 단계는,
상기 복수의 사용자들 각각에 대하여, 상기 복수의 사용자들의 손 후보들을 상기 복수의 사용자들의 얼굴들과 연관시킴으로써 상기 복수의 사용자들의 손을 결정하는 단계를 포함하는, 방법.According to any one of claims 3 to 7,
The step of detecting the feature points of the one or more objects,
detecting facial feature points and hand feature points of a plurality of users from a plurality of foreground objects in the foreground frames;
Obtaining the head movement trajectory,
Acquiring head movement trajectories of the plurality of users based on facial feature points of the plurality of users;
The step of determining the user's hand,
for each of the plurality of users, determining a hand of the plurality of users by associating hand candidates of the plurality of users with faces of the plurality of users.
상기 사용자의 손을 결정하는 단계는,
상기 사용자의 손이 왼손인지 오른손인지 여부를 결정하는 단계를 포함하는, 방법.According to any one of claims 1 to 8,
The step of determining the user's hand,
and determining whether the user's hand is a left hand or a right hand.
상기 방법은,
제스처 인식에 기초하여 상기 전자 장치를 제어하기 위한 제어 명령을 실행하는 단계를 더 포함하는, 방법.According to any one of claims 1 to 9,
The method,
The method further comprises executing a control command for controlling the electronic device based on gesture recognition.
적어도 하나의 카메라(2200);
하나 이상의 인스트럭션을 저장하도록 구성된 메모리(2300); 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서(2400)를 포함하고,
상기 적어도 하나의 프로세서(2400)는, 상기 하나 이상의 인스트럭션을 실행함으로써,
적어도 하나의 카메라를 이용하여 복수의 프레임들을 포함하는 비디오를 획득하고,
상기 비디오의 프레임들을 이용하여 상기 적어도 하나의 카메라의 시야(Field of View; FoV)의 이동을 나타내는 시야 궤적을 추정하고,
상기 비디오의 프레임들 각각 내에서, 하나 이상의 객체의 특징점들을 검출하고,
상기 하나 이상의 객체의 특징점들에 기초하여, 상기 하나 이상의 객체의 이동을 나타내는 객체 궤적을 추정하고,
상기 카메라의 시야 궤적 및 상기 객체 궤적에 기초하여, 상기 하나 이상의 객체 중에서 사용자의 손 후보를 결정하고,
상기 사용자의 머리의 움직임을 나타내는 머리 움직임 궤적을 획득하고,
상기 사용자의 손 후보에 대응하는 상기 객체 궤적 및 상기 머리 움직임 궤적에 기초하여, 사용자의 손을 결정하고,
상기 비디오 내에서 상기 결정된 사용자의 손을 추적하고 제스처를 인식하는, 전자 장치.In the electronic device 2000 for determining a user's hand in a video,
at least one camera 2200;
memory 2300 configured to store one or more instructions; and
at least one processor (2400) to execute the one or more instructions stored in the memory;
The at least one processor 2400, by executing the one or more instructions,
Obtaining a video including a plurality of frames using at least one camera;
Estimating a field of view trajectory indicating movement of a field of view (FoV) of the at least one camera using frames of the video;
Within each of the frames of the video, detecting feature points of one or more objects;
Estimating an object trajectory representing a movement of the one or more objects based on feature points of the one or more objects;
determining a hand candidate of the user from among the one or more objects based on the camera's visual trajectory and the object trajectory;
Obtaining a head movement trajectory representing the movement of the user's head;
determining a user's hand based on the object trajectory and the head movement trajectory corresponding to the user's hand candidate;
Tracking the hand of the determined user within the video and recognizing a gesture.
상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 비디오의 프레임들 각각에 대하여 전경 객체를 추출함으로써, 전경 프레임들 및 배경 프레임들을 획득하는, 전자 장치.According to claim 11,
The at least one processor, by executing the one or more instructions,
Obtaining foreground frames and background frames by extracting a foreground object for each of the frames of the video.
상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 배경 프레임들 내 픽셀들을 비교하여 상기 적어도 하나의 카메라의 시야의 이동과 관련된, 시야 이동 정보를 획득하고,
상기 시야 이동 정보에 기초하여 상기 카메라의 시야 궤적을 결정하고,
상기 전경 프레임들 내 상기 전경 객체로부터 상기 하나 이상의 객체의 특징점들을 추출하는, 전자 장치.According to claim 12,
The at least one processor, by executing the one or more instructions,
Comparing pixels in the background frames to obtain view movement information related to movement of the field of view of the at least one camera;
determining a view trajectory of the camera based on the view movement information;
Extracting feature points of the one or more objects from the foreground object in the foreground frames.
상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 머리에 위치한 제1 센서로부터 제1 센서 데이터를 획득하고,
상기 제1 센서 데이터에 기초하여, 상기 머리 움직임 궤적을 생성하는, 전자 장치.According to any one of claims 11 to 13,
The at least one processor, by executing the one or more instructions,
obtaining first sensor data from a first sensor located on the head;
An electronic device that generates the head movement trajectory based on the first sensor data.
상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 사용자의 손에 위치한 제2 전자 장치의 제2 센서로부터 제2 센서 데이터를 획득하고,
상기 제2 센서 데이터에 기초하여, 상기 사용자의 손의 움직임을 나타내는 손 움직임 궤적을 생성하는, 전자 장치.According to any one of claims 11 to 14,
The at least one processor, by executing the one or more instructions,
obtaining second sensor data from a second sensor of a second electronic device located on the user's hand;
An electronic device that generates a hand movement trajectory representing a movement of the user's hand based on the second sensor data.
상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 제2 센서 데이터에 기초한 상기 손 움직임 궤적이 생성된 것에 기초하여, 상기 머리 움직임 궤적 및 상기 손 움직임 궤적을 비교함으로써 상기 사용자의 손을 결정하는, 전자 장치.According to any one of claims 11 to 15,
The at least one processor, by executing the one or more instructions,
The electronic device of claim 1 , wherein the user's hand is determined by comparing the head movement trajectory and the hand movement trajectory based on the generated hand movement trajectory based on the second sensor data.
상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 사용자의 손 후보에 대응하는 상기 객체 궤적 및 상기 머리 움직임 궤적 간의 상관 계수를 계산하고,
상기 상관 계수가 기 설정된 값 이상인 것에 기초하여, 상기 사용자의 손 후보를 상기 사용자의 손으로 결정하는, 전자 장치.According to any one of claims 11 to 16,
The at least one processor, by executing the one or more instructions,
Calculate a correlation coefficient between the object trajectory and the head motion trajectory corresponding to the hand candidate of the user;
The electronic device of claim 1 , wherein the hand candidate of the user is determined as the user's hand based on the correlation coefficient being greater than or equal to a preset value.
상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 전경 프레임들 내 복수의 전경 객체들로부터, 복수의 사용자들의 얼굴 특징점들 및 손 특징점들을 검출하고,
상기 복수의 사용자들의 얼굴 특징점들에 기초하여 상기 복수의 사용자들의 머리 움직임 궤적들을 획득하고,
상기 복수의 사용자들 각각에 대하여, 상기 복수의 사용자들의 손 후보들을 상기 복수의 사용자들의 얼굴들과 연관시킴으로써 상기 복수의 사용자들의 손을 결정하는, 전자 장치.According to any one of claims 13 to 17,
The at least one processor, by executing the one or more instructions,
detecting facial feature points and hand feature points of a plurality of users from a plurality of foreground objects in the foreground frames;
Obtaining head movement trajectories of the plurality of users based on facial feature points of the plurality of users;
For each of the plurality of users, a hand of the plurality of users is determined by associating hand candidates of the plurality of users with faces of the plurality of users.
상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 사용자의 손이 왼손인지 오른손인지 여부를 결정하는, 전자 장치.According to any one of claims 11 to 18,
The at least one processor, by executing the one or more instructions,
An electronic device that determines whether the user's hand is a left hand or a right hand.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2023/000806 WO2023146196A1 (en) | 2022-01-25 | 2023-01-17 | Method and electronic device for determining user's hand in video |
EP23747238.6A EP4394733A1 (en) | 2022-01-25 | 2023-01-17 | Method and electronic device for determining user's hand in video |
US18/457,636 US20230410562A1 (en) | 2022-01-25 | 2023-08-29 | Method and electronic device for determining user's hand in video |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220011065 | 2022-01-25 | ||
KR1020220011065 | 2022-01-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230114686A true KR20230114686A (en) | 2023-08-01 |
Family
ID=87561555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220108652A KR20230114686A (en) | 2022-01-25 | 2022-08-29 | Electronic device and method for user's hands determination in the video |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230114686A (en) |
-
2022
- 2022-08-29 KR KR1020220108652A patent/KR20230114686A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11227158B2 (en) | Detailed eye shape model for robust biometric applications | |
US10228763B2 (en) | Gaze direction mapping | |
US9729865B1 (en) | Object detection and tracking | |
US10027883B1 (en) | Primary user selection for head tracking | |
US11573641B2 (en) | Gesture recognition system and method of using same | |
JP2022036143A (en) | Object tracking system, object tracking device, and object tracking method | |
US9298974B1 (en) | Object identification through stereo association | |
CA3071819A1 (en) | Detailed eye shape model for robust biometric applications | |
WO2018058307A1 (en) | Systems and methods for initialization of target object in a tracking system | |
KR101612605B1 (en) | Method for extracting face feature and apparatus for perforimg the method | |
KR101551576B1 (en) | Robot cleaner, apparatus and method for recognizing gesture | |
US20120163661A1 (en) | Apparatus and method for recognizing multi-user interactions | |
US20170344104A1 (en) | Object tracking for device input | |
JP2010123019A (en) | Device and method for recognizing motion | |
Frigieri et al. | Fast and accurate facial landmark localization in depth images for in-car applications | |
US11106949B2 (en) | Action classification based on manipulated object movement | |
JP2017191426A (en) | Input device, input control method, computer program, and storage medium | |
KR20160068281A (en) | Method of object recognition | |
KR20230114686A (en) | Electronic device and method for user's hands determination in the video | |
EP4394733A1 (en) | Method and electronic device for determining user's hand in video | |
US11340706B2 (en) | Gesture recognition based on depth information and computer vision | |
Pardo et al. | Actions in context: system for people with dementia | |
Uke et al. | Optimal video processing and soft computing algorithms for human hand gesture recognition from real-time video | |
JP6884123B2 (en) | Gaze point estimation device, program and method for estimating the user's gaze point | |
KR102325251B1 (en) | Face Recognition System and Method for Activating Attendance Menu |