KR20220067964A - 카메라 시야(fov) 가장자리에서 움직임을 인식하여 전자 장치를 제어하는 방법 및 그 전자 장치 - Google Patents

카메라 시야(fov) 가장자리에서 움직임을 인식하여 전자 장치를 제어하는 방법 및 그 전자 장치 Download PDF

Info

Publication number
KR20220067964A
KR20220067964A KR1020200154796A KR20200154796A KR20220067964A KR 20220067964 A KR20220067964 A KR 20220067964A KR 1020200154796 A KR1020200154796 A KR 1020200154796A KR 20200154796 A KR20200154796 A KR 20200154796A KR 20220067964 A KR20220067964 A KR 20220067964A
Authority
KR
South Korea
Prior art keywords
image
movement
electronic device
feature point
camera
Prior art date
Application number
KR1020200154796A
Other languages
English (en)
Inventor
스비틀라나 알키모바
예흐에니 야키스힌
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200154796A priority Critical patent/KR20220067964A/ko
Priority to PCT/KR2021/001359 priority patent/WO2022108001A1/ko
Priority to US17/494,440 priority patent/US20220159174A1/en
Publication of KR20220067964A publication Critical patent/KR20220067964A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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
    • 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/20Movements or behaviour, e.g. gesture recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • H04N23/611Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

객체의 움직임을 인식하여 전자 장치를 제어하는 방법이 제공된다. 방법은, 객체(object)가 포함된 적어도 하나의 이미지를 획득하는 단계, 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 단계, 가장자리 영역에 포함된 객체의 적어도 하나의 특징점(feature point)을 검출하는 단계, 검출된 적어도 하나의 특징점에 기초하여 객체의 움직임을 인식하는 단계, 및 인식된 움직임에 기초하여 전자 장치를 제어하는 단계를 포함할 수 있다.

Description

카메라 시야(FOV) 가장자리에서 움직임을 인식하여 전자 장치를 제어하는 방법 및 그 전자 장치{METHOD FOR CONTROLLING AN ELECTRONIC DEVICE BY RECOGNIZING MOVEMENT IN THE PERIPHERAL ZONE OF CAMERA FIELD-OF-VIEW (FOV), AND THE ELECTRONIC DEVICE THEREOF}
본 개시는 카메라 시야(FOV) 가장자리에서 움직임을 인식하여 전자 장치를 제어하는 방법 및 그 전자 장치에 관한 것이다.
최근 들어, 컴퓨터를 이용한 영상 처리 기술 및 화상 인식 기술의 발달에 따라 이를 이용한 다양한 응용 분야가 발전하고 있다. 이러한 다양한 응용 분야 중 제스처 인식 기술(gesture recognizing technology)은 정보 전달 수단의 하나의 방법으로써, 꾸준한 기술 개발이 진행되고 있다. 제스처 인식 기술은 컴퓨터 또는 로봇이 자율적으로 인간의 행동을 분석하고 인지하는 기술로서, 터치 제스처 기술 및 공간 제스처 기술을 포함할 수 있다. 구체적으로, 터치 제스처 기술은 터치 스크린과 같은 입력장치를 이용하여 항목을 선택할 수 있는 기술로서, 스마트 폰의 보급화와 더불어 그 사용이 증가하고 있다. 또한, 공간 제스처 기술은 카메라와 같은 입력 장치를 이용하여 트래킹 대상의 동작이 시간의 경과에 따라 어떻게 변화하는가를 분석하고, 그 변화를 추상적인 의미로 해석하는 기술이다. 이러한 제스처 인식 기술은 사용자의 의도를 보다 신속하고 정확하게 인식하는 것이 핵심적인 요소일 수 있다.
본 개시의 일 실시예는, '특징점 검출 및 추적 기법(feature point extraction and tracking)'을 이용함으로써, 객체의 적어도 일부분의 이미지가 획득되지 않는 카메라의 시야(Field of View, FOV) 가장자리에서도 객체의 움직임을 정확하게 인식할 수 있는 전자 장치 및 방법을 제공할 수 있다.
본 개시의 일 실시예는, 움직임의 형태 및 움직임의 주체가 되는 객체의 카메라의 시야 내의 위치에 기반하여, 서로 다른 제어 신호를 각각의 움직임에 할당함으로써, 객체의 시야 내 위치에 따라 서로 다른 제어 신호를 통해 전자 장치를 제어할 수 있고, 카메라의 시야 영역을 효율적으로 이용할 수 있는 전자 장치 및 방법을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 객체의 움직임을 인식하여 전자 장치를 제어하는 방법은, 상기 객체가 포함된 적어도 하나의 이미지를 획득하는 단계, 상기 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 단계, 상기 가장자리 영역에 포함된 객체(object)의 적어도 하나의 특징점(feature point)을 검출하는 단계, 상기 검출된 적어도 하나의 특징점에 기초하여 상기 객체의 움직임을 인식하는 단계, 및 상기 인식된 움직임에 기초하여 상기 전자 장치를 제어하는 단계를 포함할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 다중 움직임(multi-movement)을 인식하여 전자 장치를 제어하는 방법은, 적어도 하나의 이미지를 획득하는 단계, 상기 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 단계, 상기 중심 영역에 포함된 제1 객체의 움직임을 인식하는 단계, 상기 가장자리 영역에 포함된 제2 객체의 움직임을 인식하는 단계, 상기 제1 객체의 움직임 및 상기 제2 객체의 움직임에 기초하여 상기 전자 장치를 제어하는 단계를 포함할 수 있다. 상기 제2 객체의 움직임을 인식하는 단계는, 상기 제2 객체의 적어도 하나의 특징점(feature point)을 검출하는 단계, 및 상기 검출된 적어도 하나의 특징점에 기초하여 상기 제2 객체의 움직임을 인식하는 단계를 포함할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 객체의 움직임을 인식하여 제어 신호를 획득하는 전자 장치는, 이미지를 획득하는 카메라, 적어도 하나의 명령어(instruction)를 포함하는 프로그램을 저장하는 저장부, 및 상기 저장부에 저장된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 카메라를 제어함으로써 적어도 하나의 이미지를 획득하고, 상기 획득된 적어도 하나의 이미지를 중심 영역 및 가장자리 영역으로 분리하고, 상기 가장자리 영역에 포함된 객체의 적어도 하나의 특징점(feature point)을 검출하고, 상기 검출된 적어도 하나의 특징점에 기초하여 상기 객체의 움직임을 인식하고, 상기 인식된 움직임에 기초하여 제어 신호를 획득할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 다중 움직임(multi-movement)을 인식하여 제어 신호를 획득하는 전자 장치는, 카메라, 적어도 하나의 명령어(instruction)를 포함하는 프로그램을 저장하는 저장부, 및 상기 저장부에 저장된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 카메라를 제어함으로써 적어도 하나의 이미지를 획득하고, 상기 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하고, 상기 중심 영역에 포함된 제1 객체의 움직임을 인식하고, 상기 가장자리 영역에 포함된 제2 객체의 움직임을 인식하고, 상기 제1 객체의 움직임 및 제2 객체의 움직임에 대응되는 제어 신호를 획득할 수 있다. 상기 프로세서는 상기 적어도 하나의 명령어들을 실행하여, 상기 제2 객체(object)의 적어도 하나의 특징점(feature point)을 검출하고, 상기 검출된 적어도 하나의 특징점에 기초하여 상기 제2 객체의 움직임을 인식할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 컴퓨터로 읽을 수 있는 기록매체는, 개시된 방법의 실시예들 중에서 적어도 하나를 컴퓨터에서 실행시키기 위한 프로그램이 저장된 것일 수 있다.
도 1은 본 개시의 일 실시예에 따른 전자 장치가 카메라 시야(Field of View, FOV) 가장자리 영역(Peripheral Zone, PZ)에서 움직임(movement)을 인식하는 방법의 개요도이다.
도 2는 본 개시의 일 실시예에 따른 전자 장치의 블록도이다.
도 3a는 본 개시의 일 실시예에 따른 객체의 움직임을 인식하여 전자 장치를 제어하는 방법의 흐름도이다.
도 3b는 본 개시의 일 실시예에 따른 객체의 움직임을 인식하여 전자 장치를 제어하는 방법의 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 카메라의 시야(FOV) 및 대응되는 디스플레이의 화면을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 카메라의 시야(FOV) 내의 객체의 위치에 따른 디스플레이 화면상 객체 이미지의 위치를 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 카메라의 시야(FOV) 내의 객체의 위치에 따른 디스플레이 화면상 객체 이미지의 위치를 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 이미지 프레임을 중심부 이미지 및 에지부 이미지로 분리하는 동작을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 에지부 이미지로부터 움직임과 무관한 노이즈를 제거하는 동작을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 객체의 이미지로부터 적어도 하나의 특징점을 검출하는 동작을 설명하기 위한 도면이다.
도 10a 내지 10k는 본 개시의 다양한 실시예들에 따른 카메라 시야 가장자리 영역에 배치된 객체의 움직임에 대응되는 제어 신호를 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른 다중 움직임 인식 방법을 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른 카메라 시야 내의 다중 움직임(multi-movement)을 인식하여 전자 장치를 제어하는 방법의 흐름도이다.
도 13은 본 개시의 일 실시예에 따른 다중 움직임 인식 방법에서, 카메라 시야 중심 영역에 배치된 객체의 움직임을 인식하는 동작을 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시예에 따른 다중 움직임에 대응되는 제어 신호를 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시의 실시예들에서 사용되는 용어는 본 개시의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다.
본 개시 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 본 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 사용된 표현 “~하도록 구성된(또는 설정된)(configured to)”은 상황에 따라, 예를 들면, “~에 적합한(suitable for)”, “~하는 능력을 가지는(having the capacity to)”, “~하도록 설계된(designed to)”, “~하도록 변경된(adapted to)”, “~하도록 만들어진(made to)”, 또는 “~를 할 수 있는(capable of)”과 바꾸어 사용될 수 있다. 용어 “~하도록 구성된(또는 설정된)”은 하드웨어적으로 “특별히 설계된(specifically designed to)” 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, “~하도록 구성된 시스템”이라는 표현은, 그 시스템이 다른 장치 또는 부품들과 함께 “~할 수 있는” 것을 의미할 수 있다. 예를 들면, 문구 “A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서”는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
본 개시에서 카메라의 ‘시야(Field of View, FOV)’는 카메라를 통해 촬영된 이미지 또는 영상의 영역을 의미한다. 시야는 시야각(FOV degree)으로 지칭될 수도 있다. 카메라를 통해 촬영된 이미지 또는 영상의 영역은, 곧 디스플레이 화면 범위(screen area) 내에 표시되는 이미지 또는 영상의 영역을 나타낼 수도 있다.
본 개시에서 ‘영상(video)’ 또는 ‘이미지 시퀀스(image sequence)’는 움직이는 화상 또는 동영상을 의미할 수 있다. 영상 또는 이미지 시퀀스는 시간적 선후관계를 가지는 일련의 정지 화상들을 포함할 수 있다.
본 개시에서 ‘영상의 프레임(video frame)’ 또는 ‘이미지(image)’는 디스플레이에 출력되는 정지 이미지의 낱장을 의미할 수 있다. 즉, 연속된 장면을 짧은 시간 간격으로 표시하여 움직이는 화상을 만들어내는 영상에 있어서, 각각의 장면의 낱장을 의미할 수 있다.
본 개시에서 ‘단안 카메라(monocular camera)’는 이미지 또는 영상을 촬영하기 위해 빛을 수신하는 부분이 단일한 카메라로써, 단일한 상을 획득하는 카메라를 의미한다. 단안 카메라를 이용해 촬영한 이미지 또는 영상은 2차원일 수 있다.
본 개시에서 ‘쌍안 카메라(binocular camera)’는 이미지 또는 영상을 촬영하기 위해 빛을 수신하는 부분이 2개인 카메라로써, 두 개의 상을 획득하는 카메라를 의미한다. 쌍안 카메라를 이용해 촬영한 이미지 또는 영상은 2차원 또는 3차원일 수 있다. 쌍안 카메라를 이용할 경우, 획득한 두 개의 상으로부터 객체까지의 거리를 계산할 수 있어, 3차원 영상을 획득할 수 있다.
본 개시에서 ‘특징점(keypoint, feature point)’은 영상 또는 이미지 내에서 주위 배경과 구분되면서 식별이 용이한 지점을 의미한다. 특징점은 영상에서 물체를 추적하거나 인식 할 때 이용될 수 있다. 예를 들어, 물체의 형태나 크기나 위치가 변해도 쉽게 식별이 가능한 점(point), 또는 카메라의 시점이나 조명이 변해도 쉽게 식별이 가능한 점(point)을 특징점으로 설정할 수 있다. 예를 들어, 객체 이미지의 코너점(comer point)이나 객체의 경계선 상에 위치하는 점들이 특징점이 될 수 있다.
본 개시에서 ‘제스처(gesture)’는 손, 발 등의 신체 일부 또는 특정한 물건과 같은 객체(object)의 움직임을 의미한다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시예에 따른 전자 장치(1000)가 카메라 시야(FOV) 가장자리 영역(PZ)에서 움직임(movement)을 인식하는 방법의 개요도이다.
전자 장치(1000)는 영상 또는 이미지 시퀀스를 획득하고, 출력 영상 또는 출력 이미지 시퀀스를 출력하는 장치일 수 있다. 전자 장치(1000)는 예를 들어, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 웨어러블 장치(wearable device), 증강 현실 장치(augmented reality device), 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치 중 적어도 하나로 구성될 수 있다.
증강 현실 장치는 증강 현실(augmented reality, AR)을 표현할 수 있는 장치로서, 일반적으로 사용자가 안면부에 착용하는 안경 형상의 증강 현실 안경 장치(augmented reality glasses), 두부에 착용하는 헤드 마운트 디스플레이 장치(head mounted display, HMD), 가상 현실 헤드셋(virtual reality headset, VRH), 또는 증강 현실 헬멧(augmented reality helmet) 등을 포함할 수 있다. 헤드 마운트형 장치의 경우, 사용자의 눈 앞에 디스플레이를 배치함으로써, 사용자에게 초대형 화면을 제공할 수 있고, 사용자의 움직임에 따라 화면이 움직이므로 사실적인 가상 세계를 제공할 수 있다.
한편, 전자 장치(1000)가 전술한 예시로 한정되는 것은 아니며, 전자 장치(1000)는 영상 등의 이미지 시퀀스를 획득하고 제어 신호에 따라 처리하여 출력하는 모든 종류의 기기를 포함할 수 있다.
도 1을 참조하면, 전자 장치(1000)는 내장된 카메라(1100)를 통해 영상 또는 이미지 시퀀스를 획득할 수 있고, 획득한 영상 또는 이미지 시퀀스로부터 제어 신호를 획득할 수 있다. 본 개시의 일 실시예에 따른 전자 장치(1000)는 카메라(1100)와 같은 입력 장치를 이용하여 추적 대상 객체(object, O)의 동작이 시간의 경과에 따라 어떻게 변화하는지를 분석하고, 그 변화를 통해 제어 신호를 획득할 수 있다. 즉, 일 실시예에 따른 전자 장치(1000)에는 공간 제스처 기술 또는 컴퓨터 비전 기술이 적용될 수 있다.
컴퓨터 비전(Computer vision) 기술이란 컴퓨터를 통해 인간의 시각을 구현하는 것을 의미한다. 즉, 컴퓨터 비전은 이미지로부터 정보를 추출하는 인공 지능 시스템에 관련될 수 있다. 이미지로부터 정보를 추출하는 동작은 예를 들어, 이미지 내의 물체의 종류, 크기, 방향 위치 등 3차원적 공간 정보를 실시간으로 알아내는 기술, 인간과 같이 사물을 판별하고 각각의 사물의 동작을 인식하는 기술, 또는 기계가 자신의 위치를 인식하는 기술 등을 포함할 수 있다. 또한, 컴퓨터 비전은 카메라, 에지 기반 또는 클라우드 기반 컴퓨팅, 소프트웨어, 및 인공지능(AI)을 결합하여 시스템이 사물을 확인하고 식별할 수 있도록 한다.
컴퓨터 비전 기술에서는 예를 들어, 손 동작의 인식을 위해 ‘손 골격 감지 및 추적(hand skeleton detection and tracking)’을 이용할 수 있다. 이 경우, 카메라(1100)로 촬영된 영상에 포함된 ‘손 이미지(OI)’로부터 손 골격 구조를 분석하고, 손 골격 구조를 데이터베이스와 비교하여 손의 움직임 즉, 제스처를 인식할 수 있다.
한편, ‘손 골격 감지 및 추적’을 통한 제스처(움직임) 인식은, 카메라(1100)를 통해 손의 온전한 모습이 촬영되는 경우에 용이하게 적용될 수 있다. 즉, 도 1과 같이 사용자(U)의 손(O)이 카메라(1100)의 시야(FOV)의 가장자리 영역(PZ)에 위치할 경우, 카메라(1100)를 통해 손(O)의 일부분만이 촬영될 수 있고, 이 경우, 촬영된 객체 이미지(OI)에 손의 골격이 전부 표현되지 않으므로, ‘손 골격 감지 및 추적’을 통한 제스처(움직임) 인식은 정확도가 매우 낮아진다.
제스처(움직임) 인식의 정확도를 높이기 위해서는, 우선 손(O)이 전부 카메라(1100)의 시야(FOV) 내에 들어오도록, 손(O)을 위치시키는 방법이 있다. 이는, 제스처(움직임)의 객체가 되는 손(O)을 카메라(1100)로부터 멀리 배치함으로써 달성될 수 있다. 한편, 제스처(움직임) 인식을 위해 손(O)을 카메라(1100)로부터 멀리 뻗는 경우, 사용자(U)는 그만큼의 에너지를 사용하게 되며, 팔의 근육이 쉽게 피로해 질 수 있는 문제가 있다.
예를 들어, 손 골격의 정교한 구조를 인식할 필요가 있는 경우, 즉, 복잡한 제어 신호에 대응되는 제스처(움직임)를 인식할 필요가 있는 경우에는, 인식의 정확성을 위해 손(O) 카메라(1100)로부터 멀리 배치하기 위해 에너지를 소비하여도 좋지만, 비교적 간단한 제어 신호를 통해 전자 장치(1000)를 제어할 경우에까지 항상 손(O)을 카메라(1100)로부터 멀리 뻗어야 하는 것은 비 효율적일 수 있다.
이에 따라, 본 개시의 일 실시예에 따른 전자 장치(1000)에서는, 카메라(1100)의 시야(FOV)를 중심 영역(MZ)과 가장자리 영역(PZ)으로 분리하여, 중심 영역(MZ)에서는 손 골격 감지 및 추적 기술을 통해 제스처(움직임)를 인식하고, 가장자리 영역(PZ)에서는 특징점(feature point) 검출 방법을 이용하여 제스처(움직임)를 인식할 수 있도록 한다. 일 실시예에서, 가장자리 영역(PZ)에서 인식된 제스처(움직임)에는 비교적 간단한 제어 신호가 대응되도록 설정할 수 있다.
다시 도 1을 참조하면, 일 실시예에서, 카메라(1100)의 시야(Field of View, FOV)는 중심 영역(Middle Zone, MZ) 및 중심 영역(MZ)의 외곽으로 배치된 가장자리 영역(Peripheral Zone, PZ)을 포함할 수 있다. 카메라(1100)를 통해 획득된 영상 또는 이미지는 전자 장치(1000)에 포함된 디스플레이(1710)를 통해 출력될 수 있다. 예를 들어, 카메라(1100)의 시야(FOV)의 가장자리 영역(PZ)에서 획득된 영상은 디스플레이(1710) 화면 범위의 외곽에 배치된 에지부 이미지(EI)로 표시될 수 있고, 카메라(1100)의 시야(FOV)의 중심 영역(MZ)에서 획득된 영상은 디스플레이(1710) 화면 범위의 중심 부분에 배치된 중심부 이미지(MI)로 표시될 수 있다. 이하, 디스플레이(1710) 화면 범위에 표시된 에지부 이미지(EI)는 대응되는 가장자리 영역(PZ)으로, 중심부 이미지(MI)는 대응되는 중심 영역(MZ)으로 지칭될 수도 있다.
일 실시예에서, 카메라(1100)의 시야(FOV) 가장자리 영역(PZ)에 위치하는 사용자(U)의 손(O)을 촬영할 경우, 촬영된 손의 이미지(객체 이미지, object image, OI)는 디스플레이(1710)에서, 에지부 이미지(EI)로 출력될 수 있다. 본 개시의 일 실시예에 따른 전자 장치(1000)는, 카메라(1100)의 시야(FOV) 가장자리 영역(PZ)에서 촬영된 손의 이미지(OI)로부터 특징점(feature point) 검출 방법을 이용하여 제스처(움직임)를 인식할 수 있고, 인식된 제스처(움직임)에 대응되는 비교적 간단한 제어 신호를 획득할 수 있다.
도 2는 본 개시의 일 실시예에 따른 전자 장치(1000)의 블록도이다.
도 2를 참조하면, 전자 장치(1000)는 카메라(1100), 프로세서(1300), 저장부(1500), 및 출력부(1700)를 포함할 수 있다. 도 2에 도시된 구성 요소 모두가 전자 장치(1000)의 필수 구성 요소인 것은 아니다. 도 2에 도시된 구성 요소보다 많은 구성 요소들에 의해 전자 장치(1000)가 구현될 수도 있고, 도 2에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있다.
카메라(1100)는 영상, 이미지, 또는 이미지 시퀀스를 획득할 수 있다. 일 실시예에서, 카메라(1100)는 시각적 이미지를 획득하는 녹화부 및 청각적 음향을 획득하는 녹음부를 포함할 수 있다. 일 실시예에서, 카메라(1100)는 녹화부 및 녹음부로 물리적으로 분리되지 않는 단일한 구성일 수도 있다. 카메라(1100)는, 예를 들어, 단안(monocular) 카메라, 쌍안(binocular) 카메라, 또는 적외선 카메라 중 적어도 하나를 포함할 수 있다.
출력부(1700)는 출력 영상을 외부로 출력할 수 있다. 출력부(1700)는 디스플레이(1710) 및 오디오 출력부(1720)를 포함할 수 있다.
디스플레이(1710)는 시각적 이미지를 외부로 표시하여 출력할 수 있다. 예를 들어, 디스플레이(1710)는 이미지 시퀀스를 외부로 출력할 수 있다. 일 실시예에서, 디스플레이(1710)는 패널(panel)을 포함할 수 있다. 디스플레이(1710)는 예를 들어, 액정 디스플레이(liquid crystal display), 디지털 미러 표시 장치(digital mirror divice), 실리콘 액정 표시 장치(liquid crystal on silicon), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 마이크로 LED(micro LED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나로 구성될 수 있다.
일 실시예에서, 전자 장치(1000)는 가상 현실을 제공하는 전자 장치일 수 있다. 이 때, 디스플레이(1710)가 액정 표시 장치, 디지털 미러 표시 장치 또는 실리콘 액정 표시 장치 중 하나로 이루어지는 경우, 전자 장치(1000)는 디스플레이의 화면 출력 영역으로 빛을 조사하는 광원을 더 포함할 수 있다. 일 실시예에서, 디스플레이가 자체적으로 빛을 발생시킬 수 있는 경우, 예를 들어, 유기 발광 다이오드 또는 마이크로 LED 중 하나로 이루어지는 경우, 전자 장치(1000)는 별도의 광원을 포함하지 않더라도 사용자에게 양호한 품질의 가상 영역을 제공할 수 있다. 디스플레이가 별도의 광원을 포함하지 않는 경우, 전자 장치(1000)는 경량화 될 수 있다.
오디오 출력부(1720)는 청각적 음향을 외부로 재생하여 출력할 수 있다. 일 실시예에서, 오디오 출력부(1720)는 스피커(speaker)를 포함할 수 있다. 오디오 출력부(1720)는 예를 들어, 단일한 스피커, 두 개 이상의 복수의 스피커, 모노 스피커(mono speaker), 스테레오 스피커(stereo speaker), 서라운드 스피커(surround speaker), 헤드셋(headset), 이어폰(earphone) 중에서 적어도 하나로 구성될 수 있다.
일 실시예에서, 출력부(1700)의 디스플레이(1710) 및 오디오 출력부(1720)는 물리적으로 분리되지 않는 단일한 구성일 수도 있다.
저장부(1500)는 전자 장치(1000)의 동작을 제어하기 위해 후술할 프로세서(1300)에 의해 실행될 프로그램을 저장할 수 있다. 저장부(1500)는 전자 장치(1000)의 동작을 제어하기 위한 적어도 하나의 명령어들(instructions)을 포함하는 프로그램을 저장할 수 있다. 저장부(1500)에는 프로세서(1300)가 판독할 수 있는 명령어들 및 프로그램 코드(program code)가 저장될 수 있다. 일 실시예에서, 프로세서(1300)는 저장부(1500)에 저장된 프로그램의 명령어들 또는 코드들을 실행하도록 구현될 수 있다. 저장부(1500)는 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수 있다.
저장부(1500)는 예를 들어, 플래시 저장부(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 저장부(예를 들어, SD 또는 XD 저장부 등), 램(RAM, Random Access Memory), SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 저장부, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장 매체를 포함할 수 있다.
저장부(1500)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있다. 예를 들어, 저장부(1500)는, 이미지 분리 모듈(1510), 객체 이미지 획득 모듈(1520), 노이즈 제거 모듈(1530), 특징점 검출 모듈(1540), 특징점 추적 모듈(1550), 움직임 패턴 분류 모듈(1560), 및 움직임 인식 모듈(1570)을 포함할 수 있다. 또한, 저장부(1500)는 인공지능 모델(1580), RNN(순환 신경망)(1585), 및 데이터베이스(1590)를 더 포함할 수 있다.
프로세서(1300)는, 전자 장치(1000)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(1300)는 저장부(1500)에 저장된 프로그램들을 실행함으로써, 카메라(1100), 디스플레이(1710) 및 오디오 출력부(1720)를 포함하는 출력부(1700), 및 저장부(1500) 등을 전반적으로 제어할 수 있다.
프로세서(1300)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행하는 하드웨어 구성 요소로 구성될 수 있다. 프로세서(1300)는 예를 들어, 중앙 처리 장치(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) 중 적어도 하나로 구성될 수 있으나, 이에 제한되는 것은 아니다.
프로세서(1300)는, 저장부(1500)에 저장된 적어도 하나의 명령어들을 실행함으로써, 카메라(1100)를 통해 객체가 포함된 적어도 하나의 이미지를 획득하거나, 영상 또는 복수의 이미지 프레임을 포함하는 이미지 시퀀스(image sequence)를 획득할 수 있다. 영상은 시각적 데이터인 이미지 및 청각적 데이터인 음향을 포함할 수 있다.
프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 이미지 분리 모듈(1510)을 구성하는 적어도 하나의 명령어들을 실행함으로써, 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하거나, 획득된 이미지 시퀀스에 포함된 복수의 이미지 프레임을 각각 적어도 하나의 중심부 이미지(middle image) 및 적어도 하나의 에지부 이미지(edge image)로 분리할 수 있다. 일 실시예에서, 중심 영역 또는 중심부 이미지에 포함된 객체는 전체로서 카메라(1100)의 시야(FOV) 범위 내에 위치하여, 디스플레이(1710) 상 객체의 이미지가 온전히 표시될 수 있다. 일 실시예에서, 가장자리 영역 또는 에지부 이미지에 포함된 객체는 일부만이 카메라(1100)의 시야(FOV) 범위 내에 위치하여, 디스플레이(1710) 상 객체의 이미지가 온전히 표시되지 않을 수 있다(일부만이 표시될 수 있다). 일 실시예에서, 중심 영역과 가장자리 영역으로 이미지를 분리하는 기준이나 중심부 이미지 및 에지부 이미지를 분리하는 기준은, 해당 객체의 이미지가 디스플레이(1710) 상 온전히, 또는 전체로서 포함되었다고 볼만큼 포함되는지 여부가 될 수 있다.
예를 들어, 특정 객체가 물리적으로 카메라(1100) 시야(FOV) 범위의 외곽에 위치하는 경우에도, 객체의 이미지가 온전히 디스플레이(1710) 상 표시되는 경우에는 해당 객체의 이미지는 중심 영역에 포함되고 중심부 이미지에 해당한다고 볼 수 있다. 또한, 예를 들어 특정 객체가 물리적으로 카메라(1100) 시야(FOV) 범위의 중심에 위치하는 경우에도, 객체의 이미지가 일부만이 디스플레이(1710) 상 표시되는 경우에는 해당 객체의 이미지는 가장자리 영역에 포함되고 에지부 이미지에 해당한다고 볼 수 있다. 이와 같이, 특정 객체 이미지의 물리적인 위치를 기준으로 에지부 이미지 또는 중심부 이미지를 판별하기 보다는, 해당 객체의 디스플레이(1710) 상 표시 형태를 기준으로 판별할 수 있다.
프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 객체 이미지 획득 모듈(1520)을 구성하는 적어도 하나의 명령어들을 실행함으로써, 분리된 에지부 이미지로부터 움직임의 주체가 되는 객체의 이미지를 획득할 수 있다. 이미지는 구분되지 않은 하나의 연속적인 화면으로 구성될 수 있다. 이러한 연속적인 화면에서 사용자의 손, 발 등의 신체 일부 또는 물건 각각의 오브젝트(object)를 분리할 수 있다. 분리된 각각의 오브젝트는 움직임의 주체가 될 수 있다. 일 실시예에서, 인공지능 모델(artificial intelligence model)(1580) 또는 이미지 파일들이 축적된 데이터베이스(1590)를 이용해 이미지로부터 적어도 하나의 객체 이미지를 획득할 수 있다.
일 실시예에서, 움직임의 주체가 되는 객체는, 전자 장치(1000)를 사용하는 사용자의 손을 포함할 수 있다. 이 경우, 프로세서(1300)는 피부색 모델 기반 알고리즘(skin color model based algorithm)을 이용하여 분리된 에지부 이미지로부터 움직임의 주체가 되는 사용자의 손 이미지를 획득할 수 있다.
일 실시예에서, 프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 객체 이미지 획득 모듈(1520)을 구성하는 적어도 하나의 명령어들을 실행함으로써, 에지부 이미지로부터 제1 객체 이미지를 획득하고, 중심부 이미지로부터 제2 객체 이미지를 획득할 수 있다. 나아가, 프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 적어도 하나의 명령어들을 실행함으로써, 제2 객체 이미지를 이용하여 제1 객체 이미지를 검증할 수 있다.
예를 들어, 특정 객체의 이미지는, 이미지 시퀀스에 포함된 일련의 이미지 중 하나의 이미지에서는 에지부 이미지에 포함될 수 있고, 다른 하나의 이미지에서는 중심부 이미지에 포함될 수도 있다. 즉, 특정 객체의 이미지는, 특정 시점에서는 제2 객체 이미지가 될 수 있고, 다른 시점에서는 제1 객체 이미지가 될 수 있다. 이 경우, 프로세서(1300)는 두 시점에서 제1 객체 이미지 및 제2 객체 이미지를 획득하고, 객체의 이미지가 온전히 표시된 제2 객체 이미지를 이용하여, 제1 객체 이미지를 검증할 수 있다.
예를 들어, 하나의 이미지 내에 복수의 객체가 존재하는 경우, 적어도 하나의 객체 이미지는 중심부 이미지에 포함될 수 있고, 적어도 다른 하나의 객체 이미지는 에지부 이미지에 포함될 수 있다. 이 때, 하나의 이미지 내에서, 에지부 이미지에 포함된 객체 이미지는 제1 객체 이미지가 될 수 있고, 중심부 이미지에 포함된 객체 이미지는 제2 객체 이미지가 될 수 있다. 예를 들어, 사용자의 양 손이 객체가 되는 경우, 한 손은 중심부 이미지에 포함되고, 다른 한 손은 에지부 이미지에 포함될 수 있다. 이러한 경우, 중심부 이미지에 포함된 한 손의 이미지는 제2 객체 이미지가 되고, 에지부 이미지에 포함된 다른 한 손의 이미지는 제1 객체 이미지가 될 수 있다. 프로세서(1300)는 제2 객체 이미지의 색상 정보 등을 이용하여 제1 객체 이미지를 검증할 수 있다.
프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 노이즈 제거 모듈(1530)을 구성하는 적어도 하나의 명령어들을 실행함으로써, 객체의 이미지에 기초하여 가장자리 영역에 포함된 에지부 이미지에서 움직임과 무관한 노이즈를 제거할 수 있다. 에지부 이미지로부터 특징점을 검출하는 동작 이전에, 노이즈를 제거함으로써, 연산의 로드(load)를 줄이고, 움직임 인식의 정확도를 높일 수 있다. 일 실시예에서, 노이즈를 제거하는 동작에서는, 후술할 도 8에서와 같이 이진화(binarization) 마스크를 이용할 수 있다. 일 실시예에서, 에지부 이미지에서 움직임과 무관한 노이즈를 제거하기 위한 모델은 기 설정되어 데이터베이스에 저장되어 있을 수도 있다.
프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 특징점 검출 모듈(1540)을 구성하는 적어도 하나의 명령어들을 실행함으로써, 가장자리 영역에 포함된 객체의 적어도 하나의 특징점을 검출하거나, 에지부 이미지에 포함된 객체의 이미지로부터 적어도 하나의 특징점(feature point, key point, key feature)을 검출할 수 있다.
예를 들어, 특징점은 주위 배경과 구분되면서 식별이 용이한 지점(point), 즉, 객체의 테두리 부분으로 결정될 수 있다. 이 경우, 특징점의 픽셀은 주위 배경과 용이하게 구분되는 특성상, 주변 픽셀들과 픽셀 값의 차이가 클 수 있다. 이러한 특성을 이용하여, 에지부 이미지로부터 적어도 하나의 특징점을 검출할 수 있다. 한편, 에지부 이미지에 포함된 객체의 이미지로부터 적어도 하나의 특징점을 검출하는 방법은 전술한 방법에 제한되지 않으며, SIFT(Scale Invariant Feature Transform) 기법, Shi-Tomasi 특징점 검출법, Harris Corner 기법, FAST(Features from Accelerated Segment Test) 기법 등, 이미지 처리에서의 다양한 특징점 검출 기법들이 모두 적용될 수 있다.
프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 특징점 추적 모듈(1550)을 구성하는 적어도 하나의 명령어들을 실행함으로써, 이미지 시퀀스 상에서, 검출된 적어도 하나의 특징점을 추적(tracking)하여 각각의 특징점들의 움직임을 결정할 수 있다. 움직이는 이미지를 포함하는 영상에서, 움직임의 객체 이미지는 시간의 경과에 따라 변화할 수 있다. 일 실시예에서, 특징점 추적 모듈(1550)은 에지부 이미지(화면)를 분석하여, 각각의 특징점들이 움직이는 방향, 속도, 위치의 변화 등을 분석하고 특징점들에 대한 움직임 프로파일(profile)을 획득할 수 있다. 일 실시예에서, 획득한 움직임 프로파일은 후속 단계에서 특징점들의 움직임 패턴을 분류하고, 객체의 움직임을 인식하는 것에 이용될 수 있다.
프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 움직임 패턴 분류 모듈(1560)을 구성하는 적어도 하나의 명령어들을 실행함으로써, 추적된 각각의 특징점들로부터 결정된 움직임에 따라 움직임 패턴을 분류(classifying)할 수 있다. 일 실시예에서, 특징점의 종류 및 각각의 특징점의 움직임을 이용하여, 특정한 특징점의 움직임이 움직임의 일부인지 노이즈인지 분류할 수 있다. 예를 들어, 사용자의 신체 일부(예를 들어, 손의 일부)가 카메라(1100)의 시야(FOV) 가장자리 영역(PZ)에서 감지된 경우, 신체 일부가 촬영된 각도, 움직이는 속도, 방향 등으로부터 해당 움직임이 잘못 인식된 것인지(노이즈), 제어 신호를 발생시키기 위한 움직임에 해당하는지 분류할 수 있다.
일 실시예에서, 프로세서(1300)는, 서포트 벡터 머신(support vector machine, SVM) 또는 순환 신경망(recurrent neural network, RNN)을 통해, 결정된 움직임으로부터 각각의 특징점들의 움직임 패턴을 분류할 수 있다. 서포트 벡터 머신은 기계 학습 분야 중 하나로서, 패턴 인식, 자료 분석 등을 위한 지도 학습 모델이다. 서포트 벡터 머신은 주로 분류와 회귀 분석을 위해 사용될 수 있다. 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할 지 판단하는 비 확률적 이진 선형 분류 모델을 생성할 수 있다. 생성된 분류 모델은 데이터가 사상된 공간에서 경계로 표현될 수 있고, SVM 알고리즘은 그 중 가장 큰 폭을 갖는 경계를 찾는 알고리즘이다. 프로세서(1300)는 이러한 SVM을 이용하여 각각의 특징점들의 움직임 패턴을 분류할 수 있다.
일 실시예에서, 프로세서(1300)는 저장부(1500)에 저장된 프로그램들 중 움직임 인식 모듈(1570)을 구성하는 적어도 하나의 명령어들을 실행함으로써, 검출된 적어도 하나의 특징점에 기초하여 객체의 움직임을 인식하거나, 분류된 움직임 패턴으로부터 객체의 움직임을 인식할 수도 있다. 일 실시예에서, 움직임은 제어 신호에 대응될 수 있고, 프로세서(1300)는 인식된 움직임에 대응되는 제어 신호에 기초하여, 카메라(1100), 출력부(1700), 또는 저장부(1500) 중 적어도 하나를 제어할 수 있다.
저장부(1500)에 저장된 순환 신경망(Recurrent Neural Network, RNN)(1585)은 인공 신경망의 한 종류로서, 유닛 간의 연결이 순환적 구조를 갖는 특징을 가질 수 있다. 이러한 순환적 구조는 시변적 동적 특징을 모델링할 수 있도록 신경망 내부에 상태를 저장할 수 있게 해준다. 비순환 신경망과 달리, 순환 인공 신경망은 메모리를 이용해 시퀀스 형태의 입력을 처리할 수 있다. 따라서 순환 인공 신경망은 본 개시의 일 실시예의 움직임 패턴 분류나 움직임 인식과 같이 시변적 특징을 가지는 데이터를 처리하는데 이용될 수 있다.
저장부(1500)에 저장된 데이터베이스(1590)는 방대한 양의 데이터의 집합으로 구성될 수 있다. 일 실시예에서, 데이터베이스(1590)는 특정 움직임에 대응되는 제어 신호 정보를 포함할 수 있다. 일 실시예에서 데이터베이스(1590)는 인식된 움직임으로부터 제어 신호를 획득하는데 이용될 수 있다.
프로세서(1300)는, 저장부(1500)에 저장된 적어도 하나의 명령어들을 실행함으로써, 인식된 움직임에 대응되는 제어 신호에 기초하여, 카메라(1100), 출력부(1700), 또는 저장부(1500) 중 적어도 하나를 제어할 수 있다. 일 실시예에서, 에지부 이미지로부터 인식된 움직임은 ‘앞으로(next)/뒤로(prior)’, ‘위로(up)/아래로(down)’, ‘줌 인(zoom in)/줌 아웃(zoom out)’, ‘건너뛰기(skip)/선택(click)’, 또는 ‘취소(cancel)’와 같이 간단한 제어 신호에 대응될 수 있다. 일 실시예에서, 프로세서(1300)는, 중심부 이미지로부터 인식된 움직임에 대응되는 다소 복잡한 제어 신호 및 에지부 이미지로부터 인식된 움직임에 대응되는 다소 간단한 제어 신호에 기초하여 전자 장치(1000)를 제어할 수 있다.
도 3a는 본 개시의 일 실시예에 따른 객체의 움직임을 인식하여 전자 장치를 제어하는 방법의 흐름도이다.
단계 S310에서, 객체가 포함된 적어도 하나의 이미지를 획득할 수 있다. 이미지는 2차원 평면 위에 그려진 시각적 표현물을 의미할 수 있다. 일 실시예에서, 이미지는 카메라를 통해 획득할 수 있다. 예를 들어, 객체가 포함된 적어도 하나의 이미지를 획득하는 동작은, 복수의 이미지 프레임을 포함하는 이미지 시퀀스를 획득하는 동작을 포함할 수 있다.
단계 S320에서, 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리할 수 있다. 일 실시예에서, 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 동작은 획득된 이미지 시퀀스에 포함된 복수의 이미지 프레임을 각각 중심 영역과 가장자리 영역으로 분리하는 동작을 포함할 수 있다. 일 실시예에서, 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 동작은, 적어도 하나의 이미지를 직사각형 그리드(rectangular grid) 형태로 분리하는 동작을 포함할 수 있다. 예를 들어, 중심 영역은 적어도 하나의 중심부 이미지(middle image)를 포함하고, 가장자리 영역은 적어도 하나의 에지부 이미지(edge image)를 포함할 수 있다.
단계 S330에서, 가장자리 영역에 포함된 객체의 적어도 하나의 특징점을 검출할 수 있다. 일 실시예에서, 가장자리 영역에 포함된 객체의 적어도 하나의 특징점을 검출하는 동작은, 가장자리 영역에 포함된 에지부 이미지로부터 움직임의 주체가 되는 객체(object)의 이미지를 획득하고, 획득된 객체의 이미지로부터 적어도 하나의 특징점을 검출하는 동작을 포함할 수 있다. 이 때, 예를 들어, 에지부 이미지로부터 움직임의 주체가 되는 객체의 이미지를 획득하는 동작은, 에지부 이미지로부터 제1 객체 이미지를 획득하고, 중심부 이미지로부터 제2 객체 이미지를 획득하고, 제2 객체 이미지를 이용하여 제1 객체 이미지를 검증하고, 검증된 제1 객체 이미지를 움직임의 주체가 되는 객체의 이미지로 결정하는 동작을 포함할 수도 있다. 또한, 예를 들어, 움직임의 주체가 되는 객체가 전자 장치를 사용하는 사용자의 손을 포함하는 경우, 에지부 이미지로부터 움직임의 주체가 되는 객체의 이미지를 획득하는 동작은 피부색 모델 기반 알고리즘(skin color model based algorithm)을 이용하여 에지부 이미지로부터 객체의 이미지를 획득하는 동작을 포함할 수 있다. 일 실시예에서, 획득된 객체의 이미지로부터 적어도 하나의 특징점을 검출하는 동작은, 객체의 이미지에 기초하여 에지부 이미지에서 움직임과 무관한 노이즈를 제거하고, 노이즈가 제거된 에지부 이미지로부터 적어도 하나의 특징점을 검출하는 동작을 포함할 수 있다. 이 때, 노이즈 제거에는 이진화(binarization) 마스크가 이용될 수 있다.
단계 S340에서, 검출된 적어도 하나의 특징점에 기초하여 객체의 움직임을 인식할 수 있다. 일 실시예에서, 검출된 적어도 하나의 특징점에 기초하여 객체의 움직임을 인식하는 동작은, 검출된 적어도 하나의 특징점을 추적(tracking)하여 각각의 특징점들의 움직임을 결정하고, 각각의 특징점들의 움직임 패턴을 분류(classifying)하고, 객체의 움직임을 인식하는 동작을 포함할 수 있다. 이 때, 움직임 패턴의 분류에는 서포트 벡터 머신(support vector machine, SVM) 또는 순환 신경망(recurrent neural network, RNN)이 이용될 수 있다.
단계 S350에서, 인식된 움직임에 기초하여 전자 장치를 제어할 수 있다. 일 실시예에서, 인식된 움직임에 대응되는 제어 신호를 획득하고, 획득된 제어 신호에 기초하여 전자 장치를 제어할 수 있다.
도 3b는 본 개시의 일 실시예에 따른 객체의 움직임을 인식하여 전자 장치를 제어하는 방법의 흐름도이다.
단계 S315에서, 복수의 이미지 프레임을 포함하는 이미지 시퀀스, 예를 들어 영상을 획득할 수 있다. 이미지 시퀀스는 2차원 평면 위에 그려진 시청각적 표현물을 의미할 수 있다. 이미지 시퀀스는 움직이는 동영상을 의미할 수 있다. 일 실시예에서, 이미지 시퀀스는 카메라를 통해 획득할 수 있다. 일 실시예에서, 카메라는 단안(monocular) 카메라, 쌍안(binocular) 카메라, 또는 적외선 카메라 중 적어도 하나를 포함할 수 있다.
단계 S325에서, 복수의 이미지 프레임을 각각 적어도 하나의 중심부 이미지 및 적어도 하나의 에지부 이미지로 분리할 수 있다. 예를 들어, 중심부 이미지 및 에지부 이미지를 분리하는 기준은, 해당 객체가 카메라의 시야(FOV) 내에, 온전히, 또는 전체로서 포함되었다고 볼만큼 포함되었는지 여부가 될 수 있다. 일 실시예에서, 해당 객체가 카메라의 시야 내에 80% 이상이 포함되는 경우, 전체로서 포함되었다고 판단할 수 있다. 또 다른 실시예에서는, 해당 객체가 카메라의 시야 내에 90% 또는 95% 이상이 포함되는 경우 전체로서 포함되었다고 판단할 수 있다. 예를 들어, 객체가 사람의 손인 경우, 이미지 내에 손의 골격 구조(hand skeleton)가 전부 포함되어 손의 자세(posture)를 판단할 수 있는 경우, 그 손의 이미지는 중심부 이미지로 결정될 수 있다. 또한, 예를 들어, 이미지 내에 손의 골격 구조의 적어도 일부가 포함되지 않아 손의 자세를 판단할 수 없는 경우, 그 손의 이미지는 에지부 이미지로 결정될 수 있다.
일 실시예에서, 획득된 이미지 시퀀스에 포함된 복수의 이미지 프레임을 각각 적어도 하나의 중심부 이미지 및 적어도 하나의 에지부 이미지로 분리하는 동작은, 복수의 이미지 프레임을 각각 직사각형 그리드(rectangular grid) 형태로 분리하는 동작을 포함할 수 있다.
단계 S335에서, 에지부 이미지로부터 움직임의 주체가 되는 객체의 이미지를 획득할 수 있다. 예를 들어, 움직임의 주체가 되는 객체는, 사용자의 손일 수 있다. 이 경우, 피부색 모델 기반 알고리즘(skin color model based algorithm)을 이용하여, 에지부 이미지로부터 움직임의 주체가 되는 손 이미지를 획득할 수 있다. 일 실시예에서, 분리된 에지부 이미지로부터 움직임의 주체가 되는 객체의 이미지를 획득하는 동작은, 에지부 이미지로부터 제1 객체 이미지를 획득하고, 중심부 이미지로부터 제2 객체 이미지를 획득하고, 획득된 제2 객체 이미지를 이용하여 제1 객체 이미지를 검증하는 동작을 포함할 수 있다.
단계 S345에서, 획득된 객체의 이미지로부터 적어도 하나의 특징점을 검출할 수 있다. 예를 들어, 연속적인 시각적 데이터로 구성된 이미지로부터, 움직임의 주체가 될 수 있는 오브젝트(object)들을 분리할 수 있다. 일 실시예에서, 특징점은 주위 배경과 구분되면서 식별이 용이한 지점(point), 즉, 객체의 테두리 부분으로 결정될 수 있으나 이에 한정되는 것은 아니다. 특징점 검출에는, SIFT(Scale Invariant Feature Transform) 기법, Shi-Tomasi 특징점 검출법, Harris Corner 기법, FAST(Features from Accelerated Segment Test) 기법 등, 다양한 특징점 검출 기법들이 모두 적용될 수 있다.
일 실시예에서, 획득된 객체의 이미지로부터 적어도 하나의 특징점을 검출하는 동작은, 객체의 이미지에 기초하여 에지부 이미지에서 움직임과 무관한 노이즈를 제거하고, 노이즈가 제거된 에지부 이미지로부터 적어도 하나의 특징점을 검출하는 동작을 포함할 수 있다. 이 때, 노이즈를 제거하는 동작에서는, 이진화(binarization) 마스크를 이용할 수 있다.
단계 S355에서, 적어도 하나의 특징점을 추적하여 각각의 특징점들의 움직임을 결정할 수 있다. 일 실시예에서, 특징점의 움직임은, 객체 이미지의 화면 상에서의 변화를 통해 계산되고 추적될 수 있다. 예를 들어, 에지부 이미지(화면)를 분석하여, 검출된 각각의 특징점들이 움직이는 방향, 속도, 위치의 변화 등을 분석하고, 각각의 특징점들에 대한 움직임 프로파일(profile)을 획득할 수 있다.
단계 S365에서, 결정된 움직임으로부터 각각의 특징점들의 움직임 패턴을 분류할 수 있다. 일 실시예에서, 특징점의 종류 및 각각의 특징점의 움직임을 이용하여, 특정한 특징점의 움직임이 움직임의 일부인지 노이즈인지 분류할 수 있다. 예를 들어, 에지부 이미지에 복수의 객체에 대응하는 이미지가 포함된 경우, 각각의 특징점이 어떠한 객체에 대응되는지 분류하거나, 상태 변화가 크지 않은 특징점을 노이즈로 분류할 수 있다. 노이즈로 분류된 움직임 패턴은 움직임을 인식하는 후속 동작에서 제외될 수 있다. 일 실시예에서, 결정된 움직임으로부터 각각의 특징점들의 움직임 패턴을 분류하는 동작은, 서포트 벡터 머신(support vector machine, SVM) 또는 순환 신경망(recurrent neural network, RNN)을 이용할 수 있다.
단계 S375에서, 분류된 움직임 패턴으로부터 객체의 움직임을 인식할 수 있다. 일 실시예에서, 움직임은 단일할 수도 있고 복수일 수도 있다.
단계 S385에서, 인식된 움직임에 대응되는 제어 신호를 획득할 수 있다. 일 실시예에서, 복수의 움직임은 하나의 제어 신호에 대응될 수도 있고, 복수의 제어 신호에 대응될 수도 있다. 일 실시예에서, 에지부 이미지에서 획득된 객체의 이미지로부터 인식된 움직임에는 비교적 간단한 제어 신호가 대응될 수 있다. 간단한 제어 신호는 예를 들어, ‘앞으로(next)/뒤로(prior)’, ‘위로(up)/아래로(down)’, ‘줌 인(zoom in)/줌 아웃(zoom out)’, ‘건너뛰기(skip)/선택(click)’, 또는 ‘취소(cancel)’와 같은 전자 장치를 제어하는 신호일 수 있다.
단계 S395에서, 제어 신호에 기초하여 전자 장치를 제어할 수 있다. 예를 들어, 인식된 움직임에 대응되는 제어 신호에 기초하여, 전자 장치에 포함된 카메라, 디스플레이, 오디오 출력부, 또는 저장부 중 적어도 하나를 제어할 수 있다.
도 4는 본 개시의 일 실시예에 따른 카메라(1100)의 시야(FOV) 및 대응되는 디스플레이(1710)의 화면을 설명하기 위한 도면이다.
카메라(1100)의 시야(FOV)는 ‘시야가 닿는 영역’을 의미한다. 시야(FOV)는 시야각(degree of FOV, DFOV)으로 표현될 수 있다. 시야각(DFOV)은 수평 시야각(HFOV) 및 수직 시야각(VFOV)으로 구성될 수 있다. 수평 시야각(HFOV)은 카메라(1100)가 고정된 상태로 촬영할 수 있는 화면의 좌측 끝에서 우측 끝까지의 각도일 수 있다. 수직 시야각(VFOV)은 카메라(1100)가 고정된 상태로 촬영할 수 있는 화면의 위 끝에서 아래 끝까지의 각도일 수 있다. 시야각(DFOV)은 카메라(1100)가 고정된 상태로 촬영할 수 있는 화면의 상단 좌측 끝에서, 하단 우측 끝까지의 각도를 의미할 수 있다. 예를 들어, 시야각(DFOV)이 90도인 카메라(1100)는 전방 90도 영역을 이미지로 촬영할 수 있다.
카메라(1100)를 통해 촬영된 이미지 또는 영상은, 디스플레이(1710) 화면을 통해 표시될 수 있다. 예를 들어, 카메라(1100)의 시야(FOV)의 가장자리 영역(PZ)에서 촬영된 영상은 디스플레이(1710) 화면의 가장자리 영역(PZ)에서 표시될 수 있고, 카메라(1100)의 시야(FOV)의 중심 영역(MZ)에서 촬영된 영상은 디스플레이(1710) 화면의 중심 영역(MZ)에서 표시될 수 있다.
카메라(1100)의 시야각(DFOV)은 일정한 수치를 가질 수 있다. 따라서, 카메라(1100)가 촬영 가능한 면적은, 카메라(1100)로부터 거리가 멀수록 증가할 수 있고, 카메라(1100)로부터 거리가 가까울수록 감소할 수 있다. 따라서 카메라(1100)로부터 가까이 위치하는 물체는 디스플레이(1710) 화면 상 크게 표시될 수 있고, 카메라(1100)로부터 멀리 위치하는 물체는 디스플레이(1710) 화면 상 작게 표시될 수 있다. 예를 들어, 사용자가 카메라(1100) 또는 머리에 장착한 HMD를 통해 자신의 손을 촬영할 경우, 손의 모습이 전부 촬영되기 위해서는 카메라(1100) 또는 HMD로부터 손을 일정 간격 이상 멀리 배치할 필요가 있다.
한편, 카메라(1100)는 줌 인(zoom in) 또는 줌 아웃(zoom out) 동작을 수행할 수 있다. 줌 인 동작의 경우 카메라(1100)의 시야각(DFOV)을 좁히는 동작에 해당하고, 줌 아웃 동작의 경우 카메라(1100)의 시야각(DFOV)을 넓히는 동작에 해당할 수 있다. 카메라의 줌 인 및 줌 아웃은 최소 시야각(DFOV) 내지 최대 시야각(DFOV)의 범위 내에서 이루어질 수 있다.
도 5는 본 개시의 일 실시예에 따른 카메라의 시야(FOV) 내의 객체의 위치에 따른, 디스플레이 화면상 객체 이미지의 위치를 설명하기 위한 도면이다.
일 실시예에서, 사용자(U51, U52)는 자신의 손(O51, O52)을 전자 장치(1000)에 포함된 카메라를 통해 촬영할 수 있다. 이 때, 객체는 사용자(U51, U52)의 손(O51, O52)이 될 수 있다. 전자 장치(1000)에 포함된 카메라를 통해 촬영된 객체는 전자 장치(1000)에 포함된 디스플레이를 통해 실시간(realtime)으로 표시될 수 있다.
일 실시예에서, 사용자(U51)의 손(O51)은 카메라의 시야(FOV)의 중심 영역(MZ)에 위치할 수 있다. 이 때, 사용자(U51)의 손(O51)은 카메라의 시야(FOV) 범위 내에 모두 포함될 수 있으며, 카메라를 통해 촬영된 사용자(U51)의 손(O51)의 이미지는 대응되는 디스플레이 화면 상에서 온전히 표시될 수 있다. 이 경우, 손(O51)의 이미지는, 디스플레이 화면의 중심 영역(MZ)에 위치한다고 볼 수 있고, 중심부 이미지가 될 수 있다.
다른 실시예에서, 사용자(U52)의 손(O52)은 카메라의 시야(FOV)의 가장자리 영역(PZ)에 위치할 수 있다. 이 때, 사용자(U52)의 손(O52)의 적어도 일부는 카메라의 시야(FOV) 범위 밖에 위치할 수 있다. 즉, 사용자(U52)의 손(O52)이 전체로서 카메라의 시야(FOV) 범위 내에 포함되지 않을 수 있다. 카메라의 시야(FOV) 범위 밖에 위치하는 손(O52)의 부분은, 대응되는 디스플레이 화면 상에 표시되지 않는다. 따라서, 디스플레이 화면 상에 사용자(U52)의 손(O52)의 일부분만이 표시될 수 있다. 이 경우, 손(O52)의 이미지는, 디스플레이 화면의 가장자리 영역(PZ)에 위치한다고 볼 수 있고, 에지부 이미지가 될 수 있다.
한편, 일 실시예에서, 사용자(U51, U52)가 한 손에는 카메라를 포함하는 전자 장치(1000)를 들고, 다른 한 손(O51, O52)을 촬영할 수 있다. 앞서 도 4에서 설명한 바와 같이, 카메라가 촬영할 수 있는 면적은 카메라로부터 멀어질수록 넓어지고, 객체의 이미지는 카메라로부터 멀어질수록 작아진다. 따라서, 카메라를 포함하는 전자 장치(1000)를 들고 있는 손을 고정시킨 채로, 다른 한 손(O51, O52)을 촬영할 때, 다른 한 손(O51, O52)을 카메라로부터 멀리 뻗을수록 해당 손(O51, O52)이 카메라의 시야(FOV) 범위 내에 포함될 확률이 높아진다. 도 5를 참조하면, 사용자(U52)가 오른 손(O52)을 허리 옆에 붙일 경우 손(O52)의 일부분은 카메라의 시야(FOV)를 벗어나며, 사용자(U51)가 오른 손(O51)을 몸에서 멀어지는 방향으로 뻗을 경우 손(O51)의 전부가 카메라의 시야(FOV) 범위 내에 위치할 수 있다. 따라서, 손(O51)을 카메라의 시야(FOV) 중심 영역(MZ)에 위치시키는 것이 손(O52)을 카메라의 시야(FOV) 가장자리 영역(PZ)에 위치시키는 것에 비해 에너지가 많이 들 수 있다.
도 6은 본 개시의 일 실시예에 따른 카메라의 시야(FOV) 내의 객체의 위치에 따른 디스플레이 화면상 객체 이미지의 위치를 설명하기 위한 도면이다.
일 실시예에서, 사용자(U61, U62)는 자신의 손(O61, O62, O63, O64)을 전자 장치(1000)에 포함된 카메라를 통해 촬영할 수 있다. 이 때, 객체는 사용자(U61, U62)의 손(O61, O62, O63, O64)이 될 수 있다. 전자 장치(1000)에 포함된 카메라를 통해 촬영된 객체는 전자 장치(1000)에 포함된 디스플레이를 통해 실시간(realtime)으로 표시될 수 있다.
일 실시예에서, 전자 장치(1000)는 사용자(U61, U62)의 머리 부분에 착용되어, 사용자에게 증강 현실 서비스와 관련된 영상을 제공하는 VR(virtual reality) 장치를 포함할 수 있다. 일 실시예에서, 전자 장치(1000)는 사용자(U61, U62)의 시야(user field of view, uFOV)로 판단되는 영역에 적어도 하나의 가상 객체가 겹쳐 보이도록 출력하는 증강 현실 서비스를 제공할 수 있다. 예를 들어, 사용자(U61, U62)의 시야로 판단되는 영역은 전자 장치(1000)를 착용한 사용자(U61, U62)가 전자 장치(1000)를 통해 인지할 수 있다고 판단되는 영역으로, 전자 장치(1000)의 디스플레이의 전체 또는 적어도 일부를 포함하는 영역일 수 있다. 일 실시예에서, 전자 장치(1000)는 사용자의 양안 각각에 대응하는 복수개의 글라스를 포함할 수 있다. 예를 들어, 전자 장치(1000)는 안경(glass), 고글(goggles), 헬멧(helmet), 또는 모자 중 적어도 하나의 형태로 구성될 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에서, 전자 장치(1000)는 디스플레이, 카메라, 오디오 출력부, 및 지지부를 포함할 수 있다.
카메라는 사용자(U61, U62)의 시야에 대응되는 영상을 촬영하거나 객체와의 거리를 측정할 수 있다. 일 실시예에서, 카메라는 사용자(U61, U62)의 시야에 대응되는 영상, 즉 사용자의 손의 움직임을 검출하거나, 공간 인식을 위해 사용되는 카메라 이외에 ‘ET(eye tracking) 카메라’를 더 포함할 수도 있다. 일 실시예에서, ET 카메라는 사용자(U61, U62)의 눈동자를 검출하고 추적하는 용도로 사용될 수 있다. ET 카메라는 가상 영상의 중심이 사용자(U61, U62)의 눈동자가 응시하는 방향에 따라 위치하도록 조절하기 위한 용도로 사용될 수 있다.
일 실시예에서 디스플레이를 통해 출력되는 가상 객체는 전자 장치(1000)에서 실행되는 애플리케이션 프로그램과 관련된 정보 또는 사용자(U61, U62)의 시야로 판단되는 영역에 대응하는 실제 공간에 위치한 외부 객체와 관련된 정보를 포함할 수 있다. 예를 들어, 전자 장치(1000)는 카메라를 통해 획득한 실제 공간과 관련된 영상 정보 중 사용자(U61, U62)의 시야로 판단되는 영역에 대응하는 적어도 일부에 포함되는 외부 객체를 확인할 수 잇다. 전자 장치(1000)는 적어도 일부에서 확인한 외부 객체와 관련된 가상 객체를 전자 장치(1000)의 표시 영역 중 사용자(U61, U62)의 시야로 판단되는 영역을 통해 출력할 수 있다. 외부 객체는 실제 공간에 존재하는 사물을 포함할 수 있다.
일 실시예에서, 디스플레이는 글라스에 집광 렌즈 또는 투명 도파관을 포함할 수 있다. 도파관 또는 도파로는 디스플레이의 광원에서 생성된 빛을 사용자(U61, U62)의 눈으로 전달할 수 있다. 예를 들어, 투명 도파관은 글라스의 일부에 적어도 부분적으로 위치할 수 있다. 일 실시예에 따르면, 디스플레이에서 방출된 광은 글라스의 일단으로 입광될 수 있고, 입광된 광이 글라스 내에 형성된 도파관 또는 도파로(waveguide)를 통해 사용자(U61, U62)에게 전달될 수 있다. 도파관은 유리, 플라스틱, 또는 폴리머로 제작될 수 있으며, 내부 또는 외부의 일 표면에 형성된 나노 패턴, 예를 들어, 다각형 또는 곡면 형상의 격자 구조(grating structure)를 포함할 수 있다. 일 실시예에서, 입광된 광은 나노 패턴에 의해 도파관 내부에서 전파 또는 반사되어 사용자(U61, U62)에게 제공될 수 있다. 일 실시예에서, 도파로(waveguide)는 적어도 하나의 회절요소(예를 들어, DOE(diffractive optical element), HOE(holographic optical element)) 또는 반사요소(예를 들어, 거울) 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 도파로는 적어도 하나의 회절요소 또는 반사요소를 이용하여 광원부로부터 방출된 디스플레이 광을 사용자(U61, U62)의 눈으로 유도할 수 있다.
일 실시예에서, 디스플레이는 디스플레이 패널 또는 렌즈(예를 들어, 글라스)를 포함할 수 있다. 예를 들어, 디스플레이 패널은 유리 또는 플라스틱과 같은 투명한 재질을 포함할 수 있다. 일 실시예에서, 디스플레이는 투명 소자로 구성될 수 있고, 사용자(U61, U62)가 디스플레이를 투과하여, 디스플레이 후면의 실제 공간을 인지할 수도 있다. 디스플레이는 사용자(U61, U62)에게 실제 공간의 적어도 일부에 가상 객체가 덧붙여진 것으로 보여지도록 투명 소자의 적어도 일부 영역에 가상 객체를 표시할 수 있다.
일 실시예에서, 지지부는 전자 장치(1000)의 각 구성요소에 전기적 신호를 전달하기 위한 인쇄 회로 기판(printed circuit board, PCB), 오디오 신호를 출력하기 위한 스피커, 또는 전력을 공급하기 위한 배터리를 포함할 수 있다. 스피커는 사용자(U61, U62)의 좌측 귀에 오디오 신호를 전달하기 위한 제1 스피커 및 사용자(U61, U62)의 우측 귀에 오디오 신호를 전달하기 위한 제2 스피커를 포함할 수 있다. 일 실시예에서, 스피커는 도 2의 오디오 출력부(1720)에 포함될 수도 있다.
일 실시예에서, 사용자(U61)의 손들(O61, O62)은 카메라의 시야(FOV)의 중심 영역(MZ)에 위치할 수 있다. 이 때, 사용자(U61)의 손들(O61, O62)은 카메라의 시야(FOV) 범위 내에 모두 포함될 수 있으며, 카메라를 통해 촬영된 사용자(U61)의 손들(O61, O62)의 이미지는 대응되는 디스플레이 화면 상에서 온전히 표시될 수 있다. 이 경우, 손들(O61, O62)의 이미지는, 디스플레이 화면의 중심 영역(MZ)에 위치한다고 볼 수 있고, 중심부 이미지가 될 수 있다.
다른 실시예에서, 사용자(U62)의 손들(O63, O64)은 카메라의 시야(FOV)의 가장자리 영역(PZ)에 위치할 수 있다. 이 때, 사용자(U62)의 손들(O63, O64)의 적어도 일부는 카메라의 시야(FOV) 범위 밖에 위치할 수 있고, 즉, 사용자(U62)의 손들(O63, O64)이 전체로서 카메라의 시야(FOV) 범위 내에 포함되지 않을 수 있다. 카메라의 시야(FOV) 범위 밖에 위치하는 손들(O63, O64)의 각각 일부분은, 대응되는 디스플레이 화면 상에 표시되지 않는다. 따라서, 디스플레이 화면 상에 사용자(U62)의 손들(O63, O64) 각각의 일부분만이 표시될 수 있다. 이 경우, 손들(O63, O64)의 이미지는, 디스플레이 화면의 가장자리 영역(PZ)에 위치한다고 볼 수 있고, 에지부 이미지가 될 수 있다.
한편, 일 실시예에서, 사용자(U61, U62)가 머리에 카메라를 포함하는 전자 장치(1000)를 착용하고 자신의 양 손(O61, O62, O63, O64)을 촬영할 수 있다. 앞서 도 4에서 설명한 바와 같이, 카메라가 촬영할 수 있는 면적은 카메라로부터 멀어질수록 넓어지고, 객체의 이미지는 카메라로부터 멀어질수록 작아진다. 따라서, 머리에 착용한 카메라를 포함하는 전자 장치(1000)를 통해 양 손(O61, O62, O63, O64)을 촬영할 때, 양 손(O61, O62, O63, O64)을 카메라로부터 멀리 뻗을수록 해당 손들(O61, O62, O63, O64)이 카메라의 시야(FOV) 범위 내에 포함될 확률이 높아진다. 도 6을 참조하면, 사용자(U62)가 양 손(O63, O64)을 허리 옆에 편안히 붙일 경우 양 손(O63, O64) 각각의 일부분은 카메라의 시야(FOV)를 벗어나며, 사용자(U61)가 양 손(O61, O62)을 몸에서 멀어지는 방향으로 뻗을 경우 양 손(O61, O62)의 전부가 카메라의 시야(FOV) 범위 내에 위치할 수 있다. 따라서, 양 손(O61, O62)을 카메라의 시야(FOV) 중심 영역(MZ)에 위치시키는 것이 양 손(O63, O64)을 카메라의 시야(FOV) 가장자리 영역(PZ)에 위치시키는 것에 비해 에너지가 많이 들 수 있다.
도 7은 본 개시의 일 실시예에 따른 이미지 프레임을 중심부 이미지(MI) 및 에지부 이미지(EI)로 분리하는 동작을 설명하기 위한 도면이다.
일 실시예에서, 이미지를 중심 영역과 가장자리 영역으로 분리하거나, 이미지 시퀀스에 포함된 복수의 이미지 프레임을 각각 적어도 하나의 중심부 이미지(MI) 및 적어도 하나의 에지부 이미지(EI)로 분리하는 동작은, 적어도 하나의 이미지 또는 복수의 이미지 프레임을 각각 직사각형 그리드(rectangular grid) 형태로 분리하는 동작을 포함할 수 있다. 도 7을 참조하면, 직사각형 그리드 형태로 분리된 각각의 영역은, 중심부 이미지(MI) 및 에지부 이미지(EI)로 분류될 수 있다. 예를 들어, 그리드 형태로 분리된 각각의 영역들 중 적어도 하나의 모서리가 디스플레이(1710) 화면의 외곽에 접하는 영역들은 에지부 이미지(EI)가 될 수 있다.
도 7을 참조하면, 객체의 이미지가 디스플레이(1710) 화면 외곽과 접하는 그리드 및 중심부 그리드에 거쳐 표시될 수 있다. 이 경우, 객체의 이미지가 온전히 표시되었는지 여부에 따라, 객체의 이미지를 포함하는 그리드들이 중심부 이미지(MI)에 속하는지 에지부 이미지(EI)에 속하는지 여부를 결정할 수 있다.
예를 들어, 도 7을 참조하면 객체는 손이고, 손의 이미지가 손 골격(hand skeleton)을 모두 포함할 수 있다. 이 때, 손 이미지는 중심부 이미지가 될 수 있고, 손 이미지를 포함하는 모든 그리드는 중심부 이미지(MI)로 결정될 수 있다.
일 실시예에서, 손의 이미지가 손 골격(hand skeleton)의 적어도 일부를 포함하지 않을 수 있다. 이 때, 손은 카메라의 시야(FOV) 가장자리 영역(PZ)에 위치할 수 있고, 잘린 손의 이미지를 포함하는 모든 그리드는 에지부 이미지(EI)로 결정될 수도 있다.
한편, 이미지 프레임을 중심부 이미지(MI) 및 에지부 이미지(EI)로 분리하는 동작은 전술한 실시예에 한정되지 않는다.
도 8은 본 개시의 일 실시예에 따른 에지부 이미지로부터 움직임과 무관한 노이즈를 제거하는 동작을 설명하기 위한 도면이다.
일 실시예에서, 객체의 이미지로부터 적어도 하나의 특징점을 검출하는 동작은, 특징점을 검출하기에 앞서, 객체의 이미지에 기초하여, 이미지의 가장자리 영역에 포함된 에지부 이미지에서 움직임과 무관한 노이즈를 제거하는 동작을 더 포함할 수 있다. 일 실시예에서, 결정된 에지부 이미지(EI)는 객체 이미지(OI)뿐만 아니라, 배경 이미지를 더 포함할 수 있다. 도 8을 참조하면, 가장자리 영역(PZ)의 에지부 이미지는 객체 이미지(O8) 및 객체 이미지(O8) 이외의 이미지를 더 포함할 수 있다.
배경 이미지에 대한 특징점 검출은 객체의 움직임 인식에 필요하지 않을 뿐만 아니라, 배경 이미지에 대한 특징점 추적으로 인해 움직임 인식의 정확도가 낮아질 수도 있다. 따라서, 일 실시예에서, 특징점 검출에 앞서, 움직임과 무관한 배경 이미지를 노이즈로서 제거하는 동작을 더 포함할 수 있다.
일 실시예에서, 노이즈를 제거하는 동작은, 이진화(binarization) 마스크(BM)를 이용할 수 있다. 이미지 이진화(image binarization)는 이미지의 모든 픽셀을 흑과 백(0과 1)으로만 표현하는 영상을 의미한다. 이진화 동작은, 기 설정된 임계 값보다 낮은 값을 가지는 픽셀은 흑(0)으로, 기 설정된 임계 값보다 높은 값을 가지는 픽셀은 백(1)으로 변경하는 동작을 의미한다. 따라서, 이진화 동작이 적용된 이진화 마스크(BM)는 이미지 내에 포함된 물체를 검출하는데 이용될 수 있다.
도 8을 참조하면, 일 실시예에서, 객체 이미지(O8)에 대응되는 임계 값을 설정하고, 설정된 임계 값을 갖는 이진화 마스크(BM)를 생성하고, 생성된 이진화 마스크를 에지부 이미지에 적용함으로써, 객체 이미지(O8)에 해당하지 않는 노이즈를 제거할 수 있다. 한편, 에지부 이미지에서 노이즈를 제거하는 동작은, 전술한 이진화 마스크(BM)를 이용한 방법에 제한되는 것은 아니다.
도 9는 본 개시의 일 실시예에 따른 객체의 이미지(O9)로부터 적어도 하나의 특징점(FP)을 검출하는 동작을 설명하기 위한 도면이다.
특징점(FP)은 객체의 이미지(O9) 내에서 주위 배경과 구분되면서 식별이 용이한 지점이나, 객체의 이미지(O9)를 추적하기 용이한 지점을 의미할 수 있다. 특징점을 검출하는 방법은, SIFT(Scale Invariant Feature Transform) 기법, Shi-Tomasi 특징점 검출법, Harris Corner 기법, FAST(Features from Accelerated Segment Test) 기법 등, 이미지 처리에서의 다양한 특징점 검출 기법들이 적용될 수 있다. 도 9를 참조하면, 객체의 이미지(O9) 내에서 검출된 특징점(FP)은 손가락의 테두리 영역, 손톱의 경계선, 또는 손가락 내의 점이나 주름 등 추적이 용이한 지점에 위치할 수 있다. 검출된 특징점(FP)들은 이미지 시퀀스 내에서 객체의 시간에 따른 변화를 추적하는 동작에 이용될 수 있다. 예를 들어, 손의 특징점 검출은, 손 골격(hand skeleton) 검출과 달리, 손의 이미지의 일부만으로도 가능하여, 손의 전체적인 이미지가 요구되지 않는다.
도 10a 내지 10k는 본 개시의 다양한 실시예들에 따른 카메라 시야(FOV) 가장자리 영역(PZ)에 배치된 객체의 제스처(움직임)에 대응되는 제어 신호를 설명하기 위한 도면이다.
일 실시예에서, 에지부 이미지에 포함된 객체의 움직임으로부터 인식된 제스처(움직임)는, 전자 장치를 제어하는 제어 신호에 대응될 수 있다. 에지부 이미지에 포함된 객체는, 온전한 모습이 아닌 일부분에 대응되는 이미지로 표시될 수 있다. 따라서, 에지부 이미지로부터 인식된 움직임은, 중심부 이미지로부터 인식된 움직임에 비해 다소 간단한 제어 신호에 대응될 수 있다. 일 실시예에서, 에지부 이미지로부터 인식된 움직임은, 예를 들어, ‘앞으로(next)/뒤로(prior)’, ‘위로(up)/아래로(down)’, ‘줌 인(zoom in)/줌 아웃(zoom out)’, ‘건너뛰기(skip)/선택(click)’, 또는 ‘취소(cancel)’와 같이 간단한 제어 신호에 대응될 수 있다.
도 10a를 참조하면, 에지부 이미지에 포함된 객체 이미지(OA)로부터 ‘탭(tap) 제스처’가 인식될 수 있다. 예를 들어, ‘탭 제스처’는 화면 내에서 빠르게 나타났다가 사라지는 동작이거나, 빠르게 나타난 후 정지하는 동작일 수 있다. 일 실시예에서 ‘탭 제스처’는 클릭(click) 또는 엔터(enter) 제어 신호에 대응될 수 있다.
도 10b를 참조하면, 에지부 이미지에 포함된 객체 이미지(OB)로부터 오른쪽 일방으로 움직이는 ‘이전(prior) 제스처’가 인식될 수 있다. 예를 들어, ‘이전 제스처’는 화면 내에서 좌측에서 우측으로 이동하는 동작일 수 있다. 일 실시예에서 ‘이전 제스처’는 이전(prior) 또는 우측으로 넘기기(move right) 제어 신호에 대응될 수 있다.
도 10c를 참조하면, 에지부 이미지에 포함된 객체 이미지(OC)로부터 왼쪽 일방으로 움직이는 ‘다음(next) 제스처’가 인식될 수 있다. 예를 들어, ‘다음 제스처’는 화면 내에서 우측에서 좌측으로 이동하는 동작일 수 있다. 일 실시예에서 ‘다음 제스처’는 다음(next) 또는 좌측으로 넘기기(move left) 제어 신호에 대응될 수 있다.
도 10d를 참조하면, 에지부 이미지에 포함된 객체 이미지(OD)로부터 위쪽 일방으로 움직이는 ‘스크롤 업(scroll up) 제스처’가 인식될 수 있다. 예를 들어, ‘스크롤 업 제스처’는 화면 내에서 하측에서 상측으로 이동하는 동작일 수 있다. 일 실시예에서 ‘스크롤 업 제스처’는 다음(next), 스크롤 업(scroll up), 또는 상측으로 넘기기(move up) 제어 신호에 대응될 수 있다.
도 10e를 참조하면, 에지부 이미지에 포함된 객체 이미지(OE)로부터 아래쪽 일방으로 움직이는 ‘스크롤 다운(scroll down) 제스처’가 인식될 수 있다. 예를 들어, ‘스크롤 다운 제스처’는 화면 내에서 상측에서 하측으로 이동하는 동작일 수 있다. 일 실시예에서 ‘스크롤 다운 제스처’는 이전(prior), 스크롤 다운(scroll down), 또는 하측으로 넘기기(move down) 제어 신호에 대응될 수 있다.
도 10f를 참조하면, 에지부 이미지에 포함된 객체 이미지(OF)로부터 손가락을 펴는 ‘줌 인(zoon in) 제스처’가 인식될 수 있다. 예를 들어, ‘줌 인 제스처’는 화면 내에서 두 개의 손가락이 서로 멀어지는 방향으로 이동하는 동작일 수 있다. 일 실시예에서 ‘줌 인 제스처’는 줌 인(zoom in), 또는 보내기(send) 제어 신호에 대응될 수 있다.
도 10g를 참조하면, 에지부 이미지에 포함된 객체 이미지(OG)로부터 손가락을 오므리는 ‘줌 아웃(zoom out) 제스처’가 인식될 수 있다. 예를 들어, ‘줌 아웃 제스처’는 화면 내에서 두 개의 손가락이 서로 가까워지는 방향으로 이동하는 동작일 수 있다. 일 실시예에서 ‘줌 아웃 제스처’는 줌 아웃(zoom out), 음소거(mute), 가져오기(bring), 선택(select), 또는 클릭(click) 제어 신호에 대응될 수 있다. 일 실시예에서, 움직임의 속도에 따라 서로 다른 제어 신호에 대응될 수도 있다. 예를 들어, 줌 아웃 제스처의 속도가 기 설정된 값보다 빠른 경우, 클릭, 선택, 또는 음소거 제어 신호에 대응되도록 설정될 수 있으며, 줌 아웃 제스처의 속도가 기 설정된 값보다 느린 경우 줌 아웃 또는 가져오기 제어 신호에 대응되도록 설정될 수 있다.
도 10h를 참조하면, 에지부 이미지에 포함된 객체 이미지(OH)로부터 수평방향으로 움직이는 ‘삭제(delete) 제스처’가 인식될 수 있다. 예를 들어, ‘삭제 제스처’는 화면 내에서 우측에서 좌측으로, 좌측에서 우측으로 번갈아 이동하는 동작일 수 있다. 일 실시예에서 ‘삭제 제스처’는 지우기(erase), 또는 삭제(delete) 제어 신호에 대응될 수 있다.
도 10j를 참조하면, 에지부 이미지에 포함된 객체 이미지(OJ)로부터 수직방향으로 움직이는 ‘삭제(delete) 제스처’가 인식될 수 있다. 예를 들어, ‘삭제 제스처’는 화면 내에서 하측에서 상측으로, 상측에서 하측으로 번갈아 이동하는 동작일 수 있다. 일 실시예에서 ‘삭제 제스처’는 지우기(erase), 또는 삭제(delete) 제어 신호에 대응될 수 있다.
도 10k를 참조하면, 에지부 이미지에 포함된 객체 이미지들(OK1, OK2)로부터 ‘회전(rotate) 제스처’가 인식될 수 있다. 예를 들어, ‘회전 제스처’는 화면 내에 포함된 두 개의 객체 이미지들(OK1, OK2)로부터 인식될 수 있다. 예를 들어, ‘회전 제스처’는, 제1 객체 이미지(OK1)가 화면 좌측 가장자리 영역(PZ)에서 하측에서 상측으로 이동하고, 제2 객체 이미지(OK2)가 화면 우측 가장자리 영역(PZ)에서 상측에서 하측으로 이동하는 경우 인식될 수 있다. 일 실시예에서 ‘회전 제스처’는 화면 회전(rotate) 제어 신호에 대응될 수 있다.
도 11은 본 개시의 일 실시예에 따른 다중 움직임(multi-movement) 인식 방법을 설명하기 위한 도면이다.
다중 움직임이 포함된 경우란, 이미지 또는 이미지 시퀀스 내에 복수의 객체로 인한 복수의 움직임이 포함된 경우를 의미한다. 다중 움직임이 포함된 경우는, 안경 또는 HMD의 가상 현실 제공 장치를 이용하는 경우나, 전자 장치를 거치대에 고정시켜 놓은 상태로 사용하는 경우 등, 사용자의 두 손이 자유로운 경우에 발생할 수 있으나, 이러한 예시에 제한되는 것은 아니다. 다중 움직임이 포함된 경우에는, 예를 들어, 이미지 시퀀스의 하나의 이미지 내에 복수의 객체(O1, O2)가 존재하고, 각각의 객체(O1, O2)가 서로 다른 움직임을 가질 수 있다. 이 때, 각각의 객체(O1, O2)의 움직임이 서로 다른 제스처가 될 수 있다.
일 실시예에서, 적어도 하나의 객체 이미지가 중심부 이미지에 포함될 수 있고, 적어도 다른 하나의 객체 이미지가 에지부 이미지에 포함될 수 있다. 이 때, 하나의 이미지 내에서, 중심부 이미지에 포함된 객체의 이미지는 제1 객체(O1)의 이미지일 수 있고, 에지부 이미지에 포함된 객체의 이미지는 제2 객체(O2)의 이미지가 될 수 있다.
도 11을 참조하면, 사용자의 양 손이 객체가 되는 경우, 한 손은 그 이미지가 중심부 이미지에 포함된 제1 객체(O1)가 되고, 다른 한 손은 그 이미지가 에지부 이미지에 포함된 제2 객체(O2)가 될 수 있다. 제1 객체(O1)의 제스처는 제1 움직임이 될 수 있고, 제2 객체(O2)의 제스처는 제2 움직임이 될 수 있다. 일 실시예에서, 적어도 하나의 제1 움직임 및 적어도 하나의 제2 움직임과, 전자 장치의 제어 신호는 각각 일대일, 다대일, 또는 다대다 매칭될 수 있다. 예를 들어, 도 11을 참조하면, 제1 객체(O1)의 제1 움직임 및 제2 객체(O2)의 제2 움직임은 하나의 제어 신호에 대응될 수도 있고, 제1 움직임 및 제2 움직임은 각각 서로 다른 제어 신호에 대응될 수도 있다.
도 12는 본 개시의 일 실시예에 따른 카메라 시야 내의 다중 움직임(multi-movement)을 인식하여 전자 장치를 제어하는 방법의 흐름도이다.
본 개시의 일 실시예에 따른 다중 움직임(multi-movement)을 인식하여 전자 장치를 제어하는 방법은, 적어도 하나의 이미지를 획득하는 단계, 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 단계, 중심 영역에 포함된 제1 객체의 움직임을 인식하는 단계, 가장자리 영역에 포함된 제2 객체의 움직임을 인식하는 단계, 제1 객체의 움직임 및 제2 객체의 움직임에 기초하여 전자 장치를 제어하는 단계를 포함할 수 있다. 이 때, 제2 객체의 움직임을 인식하는 단계는, 제2 객체의 적어도 하나의 특징점(feature point)을 검출하는 단계, 및 검출된 적어도 하나의 특징점에 기초하여 제2 객체의 움직임을 인식하는 단계를 포함할 수 있다.
일 실시예에서, 제1 객체의 움직임 및 제2 객체의 움직임에 기초하여 전자 장치를 제어하는 단계는, 제1 객체의 움직임 및 제2 객체의 움직임을 조합(combine)하는 단계 및 조합된 움직임에 기초하여 전자 장치를 제어하는 단계를 포함할 수 있다.
도 12의 단계 S1200, S1210, S1222, S1232, S1242, S1252, S1262, S1280, 및 S1290은 각각 전술한 도 3b의 단계 S315, S325, S335, S345, S355, S365, S375, S385, 및 S395와 유사한 동작으로 수행될 수 있다.
일 실시예에서, 적어도 하나의 이미지를 획득하는 동작은, 복수의 이미지 프레임을 포함하는 이미지 시퀀스를 획득하는 동작을 포함할 수 있다. 일 실시예에서, 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 동작은, 획득된 이미지 시퀀스에 포함된 복수의 이미지 프레임을 각각 중심 영역과 가장자리 영역으로 분리하는 동작을 포함할 수 있다. 예를 들어, 중심 영역은 적어도 하나의 중심부 이미지(middle image)를 포함하고, 가장자리 영역은 적어도 하나의 에지부 이미지(edge image)를 포함할 수 있다.
단계 S1200 및 단계 S1210에서는, 도 3b의 단계 S315 및 단계 S325와 유사하게 복수의 이미지 프레임을 포함하는 이미지 시퀀스를 획득하고, 복수의 이미지 프레임을 각각 적어도 하나의 중심부 이미지 및 적어도 하나의 에지부 이미지로 분리할 수 있다.
일 실시예에서, 중심 영역에 포함된 제1 객체의 움직임을 인식하고 가장자리 영역에 포함된 제2 객체의 움직임을 인식하는 동작은, 예를 들어, 적어도 하나의 중심부 이미지로부터 적어도 하나의 제1 움직임을 인식하고, 적어도 하나의 에지부 이미지로부터 적어도 하나의 제2 움직임을 인식하는 동작을 포함할 수 있다. 적어도 하나의 중심부 이미지로부터 적어도 하나의 제1 움직임을 인식하는 동작은, 단계 S1221, S1241, 및 S1261을 통해 수행될 수 있다. 적어도 하나의 에지부 이미지로부터 적어도 하나의 제2 움직임을 인식하는 동작은 단계 S1222, S1232, S1242, S1252, 및 S1262을 통해 수행될 수 있다.
단계 S1221, S1241, 및 S1261에서, 중심부 이미지로부터 적어도 하나의 제1 움직임을 인식하는 동작, 즉, 중심 영역에 포함된 제1 객체의 움직임을 인식하는 동작은, 분리된 중심부 이미지로부터 제1 움직임의 주체가 되는 제1 객체의 이미지를 획득하고, 제1 객체의 움직임을 결정하고, 결정된 제1 객체의 움직임으로부터 제1 움직임을 인식하는 동작을 포함할 수 있다.
단계 S1221에서, 중심부 이미지로부터 제1 움직임의 주체가 되는 제1 객체의 이미지를 획득할 수 있다. 일 실시예에서, 제1 객체의 이미지를 획득하는 동작은 인공 신경망(neural network, NN), 또는 데이터베이스(database, DB)를 이용할 수 있다.
단계 S1241에서, 제1 객체의 움직임을 결정할 수 있다. 일 실시예에서, 제1 객체의 움직임을 결정하는 동작에는 인공지능 모델(AI model), 순환 신경망(RNN), 또는 데이터베이스(DB)가 이용될 수 있다. 예를 들어, 제1 객체가 사람의 손에 해당하는 경우, 제1 객체의 움직임을 결정하는 동작에 ‘손 골격 감지 및 추적(hand skeleton detection and tracking)’기술을 이용할 수 있다.
손 골격 감지 및 추적 기술은, 사람의 손 이미지 상에서 움직이는 관절 부위를 탐지하여, 미리 정해진 골격(skeleton) 구조를 분할해서 투영해 주는 기술이다. 일 실시예에서, 사람의 손의 골격 구조는 각 손가락의 끝점(5개), 각 손가락의 관절점(5*3=15개), 및 손바닥 점(1개)을 포함할 수 있으나, 이에 한정되는 것은 아니다. 제1 객체의 움직임을 결정하기 위해 손 골격 감지 및 추적 기술을 이용하는 경우, 정확한 골격의 감지를 통해 정확한 골격 구조를 판단하는 것이 요구된다. 중심부 이미지에 포함되는 제1 객체의 이미지는, 객체의 이미지가 온전히 표시되는 경우로서, 골격 구조를 모두 포함할 수 있고, 따라서 자세(posture) 인식의 정확도가 높을 수 있다.
단계 S1261에서, 결정된 제1 객체의 움직임으로부터 제1 움직임을 인식할 수 있다. 일 실시예에서, 제1 움직임의 인식에는 이미지 학습된 데이터베이스가 이용될 수 있다.
단계 S1222, S1232, S1242, S1252, 및 S1262에서, 에지부 이미지로부터 적어도 하나의 제2 움직임을 인식하는 동작, 즉, 가장자리 영역에 포함된 제2 객체의 움직임을 인식하는 동작은, 분리된 에지부 이미지로부터 제2 움직임의 주체가 되는 제2 객체의 이미지를 획득하고, 제2 객체의 이미지로부터 적어도 하나의 특징점을 검출하고, 적어도 하나의 특징점을 추적하여 각각의 특징점들의 움직임을 결정하고, 결정된 움직임으로부터 각각의 특징점들의 움직임 패턴을 분류하고, 분류된 움직임 패턴으로부터 제2 객체의 제2 움직임을 인식하는 동작을 포함할 수 있다. 에지부 이미지로부터 적어도 하나의 제2 움직임을 인식하는 동작은 전술한 도 3b에서 구체적으로 설명하였으므로 상세한 설명은 생략하기로 한다.
단계 S1270, S1280, 및 S1290을 통해, 인식된 제1 객체의 움직임 및 제2 객체의 움직임에 기초하여 전자 장치를 제어할 수 있다. 예를 들어, 제1 객체의 움직임은 제1 움직임일 수 있고, 제2 객체의 움직임은 제2 움직임일 수 있다.
단계 S1270에서, 적어도 하나의 제1 움직임 및 적어도 하나의 제2 움직임을 조합할 수 있다. 일 실시예에서, 적어도 하나의 제1 움직임 및 적어도 하나의 제2 움직임들을 융합하여 단일한 융합 움직임을 생성하거나, 융합하지 않고 복수의 움직임을 포함하는 움직임 그룹을 생성할 수 있다.
일 실시예에서, 적어도 하나의 제1 움직임 및 적어도 하나의 제2 움직임을 조합하는 동작은, 규칙 기반 솔루션(rule based solution) 또는 멀티모달 융합(multimodal fusion)을 이용할 수 있다. 규칙 기반 솔루션은 인공지능 모델의 일종이며, 멀티모달 융합은 인간의 제스처, 시선, 손의 움직임, 행동의 패턴, 음성, 물리적인 위치 등 인간의 자연스러운 행동들에 대한 정보를 해석하고 부호화하는 인지 기반 기술을 의미할 수 있다. 즉, 멀티모달 융합을 이용할 경우, 이미지 상의 복수의 객체를 복수의 모달리티(modality)에 대응시킬 수 있고, 복수의 객체는 서로 다른 제어 신호를 전자 장치에 인가하는 서로 다른 채널로 동작할 수 있다.
단계 1280에서, 인식된 움직임에 대응되는 제어 신호를 획득할 수 있다. 일 실시예에서, 적어도 하나의 제1 움직임 및 적어도 하나의 제2 움직임이 하나의 제어 신호에 대응될 경우, 해당 움직임들을 융합한 융합 움직임으로부터 대응되는 하나의 제어 신호를 획득할 수 있다. 일 실시예에서, 적어도 하나의 제1 움직임 및 적어도 하나의 제2 움직임이 각각 서로 다른 제어 신호들에 대응될 경우, 해당 움직임들을 포함하는 움직임 그룹으로부터 대응되는 복수의 제어 신호를 획득할 수 있다.
단계 S1290에서, 획득한 제어 신호에 기초하여 전자 장치를 제어할 수 있다. 일 실시예에서, 제어 신호에 기초하여 전자 장치의 카메라, 출력부, 저장부, 또는 프로세서 중 적어도 하나를 제어할 수 있다.
도 13은 본 개시의 일 실시예에 따른 다중 움직임 인식 방법에서, 카메라 시야(FOV) 중심 영역(MZ)에 배치된 제1 객체(O1)의 움직임을 인식하는 동작을 설명하기 위한 도면이다.
도 13을 참조하면, 일 실시예에서, 제1 객체(O1)는 카메라 시야(FOV)의 중심 영역(MZ)에 배치될 수 있다. 이 때, 제1 객체(O1)는 카메라 시야(FOV)에 모두 포함될 수 있으며, 디스플레이 화면의 이미지 범위 내에서 제1 객체(O1)의 이미지가 모두 포함될 수 있다. 따라서, 중심부 이미지로부터 제1 움직임의 주체가 되는 제1 객체(O1)의 이미지를 획득할 수 있다.
사람의 손에 해당하는 제1 객체(O1)의 움직임을 결정하기 위해서, 손 골격 감지 및 추적 기술이 이용될 수 있다. 도 13을 참조하면, 손 골격 구조(hand landmark, HL)는 손가락의 끝, 관절, 및 손바닥 부분에 각각 대응되는 22개의 구조점들을 포함할 수 있다. 일 실시예에서, 제1 객체(O1)의 움직임을 결정하기 위해, 제1 객체(O1)의 이미지 상에서 움직이는 관절 부위를 탐지하여 손 골격 구조(HL)와 매칭시킬 수 있다. 이후, 제1 객체(O1)의 이미지 상에서 매칭된 손 골격 구조(HL)의 구조점들을 추적함으로써, 제1 객체(O1)의 움직임을 결정할 수 있다. 일 실시예에서, 결정된 제1 객체(O1)의 움직임으로부터, 제1 움직임을 인식할 수 있다.
도 14는 본 개시의 일 실시예에 따른 다중 움직임에 대응되는 제어 신호를 설명하기 위한 도면이다.
일 실시예에서, 전자 장치(1000)는 카메라를 통해 획득한 실제 공간과 관련된 영상 정보에 기반하여 증강 현실 서비스와 관련된 가상 객체를 함께 표시할 수 있다. 예를 들어, 도 14를 참조하면, 전자 장치(1000)는 실제 공간과 관련된 영상 정보(사용자의 양 손(O1, O2) 및 배경 이미지)에 기반하여 ‘팝업 스크린’과 같은 가상 객체를 함께 표시할 수 있다.
일 실시예에서, 디스플레이(1710) 상에 중심부 이미지에 포함되는 제1 객체(O1) 및 에지부 이미지에 포함되는 제2 객체(O2)가 표시될 수 있다. 이 경우, 제1 객체(O1)의 이미지로부터 제1 움직임이 인식될 수 있고, 제2 객체(O2)의 이미지로부터 제2 움직임이 인식될 수 있다. 일 실시예에서, 중심부 이미지로부터 인식된 제1 움직임에는 다소 복잡한 제어 신호가 대응될 수 있다. 예를 들어, 도 14를 참조하면, 제1 객체(O1)의 움직임인 제1 움직임에는, ‘정보가 표시되는 영역’의 크기, 위치, 각도 등을 조절하는 제어 신호가 대응될 수 있다.
일 실시예에서, 에지부 이미지로부터 인식된 제2 움직임에는 다소 간단한 제어 신호가 대응될 수 있다. 예를 들어, 도 14를 참조하면, 제2 객체(O2)는 디스플레이(1710) 화면 영역에서 잘린 일부분만이 표시될 수 있고, 제2 객체(O2)의 움직임은 제2 움직임이 될 수 있다. 제2 움직임에 대응되는 제어 신호는, 제1 움직임을 통해 제어되는 ‘정보가 표시되는 영역’의 페이지를 넘기는 등의 간단한 제어 신호일 수 있다.
본 개시의 일 실시예에서는, ‘특징점 검출 및 추적 기법(feature point extraction and tracking)’을 이용함으로써, 객체의 적어도 일부분의 이미지가 획득되지 않는 카메라의 시야(FOV) 가장자리에서도 객체의 움직임을 정확하게 인식할 수 있다. 또한, 움직임의 형태 및 움직임의 주체가 되는 객체의 카메라의 시야(FOV) 내의 위치에 기반하여, 서로 다른 제어 신호를 각각의 움직임에 할당함으로써, 객체의 시야 내 위치에 따라 서로 다른 제어 신호를 통해 전자 장치를 제어할 수 있고, 카메라의 시야(FOV) 영역을 효율적으로 이용할 수 있다.
본 개시의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.
또한, 컴퓨터에 의해 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 객체(object)의 움직임을 인식하여 전자 장치를 제어하는 방법에 있어서,
    상기 객체가 포함된 적어도 하나의 이미지를 획득하는 단계;
    상기 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 단계;
    상기 가장자리 영역에 포함된 객체의 적어도 하나의 특징점(feature point)을 검출하는 단계;
    상기 검출된 적어도 하나의 특징점에 기초하여 상기 객체의 움직임을 인식하는 단계; 및
    상기 인식된 움직임에 기초하여 상기 전자 장치를 제어하는 단계;
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 객체가 포함된 적어도 하나의 이미지를 획득하는 단계는, 복수의 이미지 프레임을 포함하는 이미지 시퀀스를 획득하는 단계를 포함하고,
    상기 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 단계는, 상기 획득된 이미지 시퀀스에 포함된 복수의 이미지 프레임을 각각 중심 영역과 가장자리 영역으로 분리하는 단계를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 단계는, 상기 적어도 하나의 이미지를 직사각형 그리드(rectangular grid) 형태로 분리하는 단계를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 중심 영역은 적어도 하나의 중심부 이미지(middle image)를 포함하고, 상기 가장자리 영역은 적어도 하나의 에지부 이미지(edge image)를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 가장자리 영역에 포함된 객체의 적어도 하나의 특징점을 검출하는 단계는,
    상기 가장자리 영역에 포함된 상기 에지부 이미지로부터 움직임의 주체가 되는 객체의 이미지를 획득하는 단계; 및
    상기 획득된 객체의 이미지로부터 적어도 하나의 특징점을 검출하는 단계를 포함하는, 방법.
  6. 제5항에 있어서, 상기 에지부 이미지로부터 움직임의 주체가 되는 객체의 이미지를 획득하는 단계는,
    상기 에지부 이미지로부터 제1 객체 이미지를 획득하는 단계;
    상기 중심부 이미지로부터 제2 객체 이미지를 획득하는 단계;
    상기 제2 객체 이미지를 이용하여, 상기 제1 객체 이미지를 검증하는 단계; 및
    상기 검증된 제1 객체 이미지를 움직임의 주체가 되는 객체의 이미지로 결정하는 단계를 포함하는, 방법.
  7. 제5항에 있어서,
    상기 움직임의 주체가 되는 객체는 상기 전자 장치를 사용하는 사용자의 손을 포함하고,
    상기 에지부 이미지로부터 움직임의 주체가 되는 객체의 이미지를 획득하는 단계는, 피부색 모델 기반 알고리즘(skin color model based algorithm)을 이용하여 에지부 이미지로부터 상기 객체의 이미지를 획득하는 단계를 포함하는, 방법.
  8. 제5항에 있어서, 상기 획득된 객체의 이미지로부터 적어도 하나의 특징점을 검출하는 단계는,
    상기 객체의 이미지에 기초하여, 에지부 이미지에서 움직임과 무관한 노이즈를 제거하는 단계; 및
    노이즈가 제거된 에지부 이미지로부터 상기 적어도 하나의 특징점을 검출하는 단계를 포함하는, 방법.
  9. 제8항에 있어서,
    이진화(binarization) 마스크를 이용해 상기 노이즈를 제거하는, 방법.
  10. 제1항에 있어서, 상기 검출된 적어도 하나의 특징점에 기초하여 상기 객체의 움직임을 인식하는 단계는,
    상기 검출된 적어도 하나의 특징점을 추적(tracking)하여 각각의 특징점들의 움직임을 결정하는 단계;
    상기 결정된 움직임으로부터 각각의 특징점들의 움직임 패턴을 분류(classifying)하는 단계; 및
    상기 분류된 움직임 패턴으로부터 상기 객체의 움직임을 인식하는 단계를 포함하는, 방법.
  11. 제10항에 있어서,
    서포트 벡터 머신(support vector machine, SVM) 또는 순환 신경망(recurrent neural network, RNN)을 통해 상기 움직임 패턴을 분류하는, 방법.
  12. 제1항에 있어서, 상기 인식된 움직임에 기초하여 상기 전자 장치를 제어하는 단계는,
    상기 인식된 움직임에 대응되는 제어 신호를 획득하는 단계; 및
    상기 획득된 제어 신호에 기초하여 상기 전자 장치를 제어하는 단계를 포함하는, 방법.
  13. 다중 움직임(multi-movement)을 인식하여 전자 장치를 제어하는 방법에 있어서,
    적어도 하나의 이미지를 획득하는 단계;
    상기 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하는 단계;
    상기 중심 영역에 포함된 제1 객체의 움직임을 인식하는 단계;
    상기 가장자리 영역에 포함된 제2 객체의 움직임을 인식하는 단계; 및
    상기 제1 객체의 움직임 및 상기 제2 객체의 움직임에 기초하여 상기 전자 장치를 제어하는 단계를 포함하고,
    상기 제2 객체의 움직임을 인식하는 단계는,
    상기 제2 객체의 적어도 하나의 특징점(feature point)을 검출하는 단계; 및
    상기 검출된 적어도 하나의 특징점에 기초하여 상기 제2 객체의 움직임을 인식하는 단계;
    를 포함하는, 방법.
  14. 제13항에 있어서,
    상기 제1 객체의 움직임 및 상기 제2 객체의 움직임에 기초하여 상기 전자 장치를 제어하는 단계는,
    상기 제1 객체의 움직임 및 상기 제2 객체의 움직임을 조합하는 단계;
    상기 조합된 움직임에 기초하여 상기 전자 장치를 제어하는 단계를 포함하는, 방법.
  15. 객체(object)의 움직임을 인식하여 제어 신호를 획득하는 전자 장치에 있어서,
    이미지를 획득하는 카메라;
    적어도 하나의 명령어(instruction)를 포함하는 프로그램을 저장하는 저장부; 및
    상기 저장부에 저장된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 카메라를 제어함으로써 적어도 하나의 이미지를 획득하고,
    상기 획득된 적어도 하나의 이미지를 중심 영역 및 가장자리 영역으로 분리하고,
    상기 가장자리 영역에 포함된 객체의 적어도 하나의 특징점(feature point)을 검출하고,
    상기 검출된 적어도 하나의 특징점에 기초하여 상기 객체의 움직임을 인식하고,
    상기 인식된 움직임에 기초하여 제어 신호를 획득하는, 전자 장치.
  16. 제15항에 있어서,
    상기 중심 영역은 적어도 하나의 중심부 이미지(middle image)를 포함하고, 상기 가장자리 영역은 적어도 하나의 에지부 이미지(edge image)를 포함하는, 전자 장치.
  17. 제16항에 있어서,
    상기 프로세서는 상기 적어도 하나의 명령어들을 실행하여,
    상기 객체의 이미지에 기초하여, 에지부 이미지에서 움직임과 무관한 노이즈를 제거하고,
    노이즈가 제거된 에지부 이미지로부터 적어도 하나의 특징점을 검출하는, 전자 장치.
  18. 제17항에 있어서,
    상기 프로세서는 상기 적어도 하나의 명령어들을 실행하여,
    이진화(binarization) 마스크를 이용해, 상기 에지부 이미지에서 움직임과 무관한 상기 노이즈를 제거하는, 전자 장치.
  19. 제15항에 있어서,
    상기 프로세서는 상기 적어도 하나의 명령어들을 실행하여,
    상기 검출된 적어도 하나의 특징점을 추적(tracking)하여 각각의 특징점들의 움직임을 결정하고,
    상기 결정된 움직임으로부터 각각의 특징점들의 움직임 패턴을 분류(classifying)하고,
    상기 분류된 움직임 패턴으로부터 상기 객체의 움직임을 인식함으로써, 상기 검출된 적어도 하나의 특징점에 기초하여 상기 객체의 움직임을 인식하는, 전자 장치.
  20. 다중 움직임(multi-movement)을 인식하여 제어 신호를 획득하는 전자 장치에 있어서,
    카메라;
    적어도 하나의 명령어(instruction)를 포함하는 프로그램을 저장하는 저장부; 및
    상기 저장부에 저장된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 카메라를 제어함으로써 적어도 하나의 이미지를 획득하고,
    상기 획득된 적어도 하나의 이미지를 중심 영역과 가장자리 영역으로 분리하고,
    상기 중심 영역에 포함된 제1 객체의 움직임을 인식하고,
    상기 가장자리 영역에 포함된 제2 객체의 움직임을 인식하고,
    상기 제1 객체의 움직임 및 제2 객체의 움직임에 대응되는 제어 신호를 획득하고,
    상기 프로세서는 상기 적어도 하나의 명령어들을 실행하여,
    상기 제2 객체의 적어도 하나의 특징점(feature point)을 검출하고,
    상기 검출된 적어도 하나의 특징점에 기초하여 상기 제2 객체의 움직임을 인식하는, 전자 장치.
KR1020200154796A 2020-11-18 2020-11-18 카메라 시야(fov) 가장자리에서 움직임을 인식하여 전자 장치를 제어하는 방법 및 그 전자 장치 KR20220067964A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200154796A KR20220067964A (ko) 2020-11-18 2020-11-18 카메라 시야(fov) 가장자리에서 움직임을 인식하여 전자 장치를 제어하는 방법 및 그 전자 장치
PCT/KR2021/001359 WO2022108001A1 (ko) 2020-11-18 2021-02-02 카메라 시야(fov) 가장자리에서 움직임을 인식하여 전자 장치를 제어하는 방법 및 그 전자 장치
US17/494,440 US20220159174A1 (en) 2020-11-18 2021-10-05 Method of controlling electronic device by recognizing movement in peripheral zone of field of view of camera, and electronic device therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200154796A KR20220067964A (ko) 2020-11-18 2020-11-18 카메라 시야(fov) 가장자리에서 움직임을 인식하여 전자 장치를 제어하는 방법 및 그 전자 장치

Publications (1)

Publication Number Publication Date
KR20220067964A true KR20220067964A (ko) 2022-05-25

Family

ID=81709255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200154796A KR20220067964A (ko) 2020-11-18 2020-11-18 카메라 시야(fov) 가장자리에서 움직임을 인식하여 전자 장치를 제어하는 방법 및 그 전자 장치

Country Status (2)

Country Link
KR (1) KR20220067964A (ko)
WO (1) WO2022108001A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024076202A1 (ko) * 2022-10-07 2024-04-11 이철우 복수의 프레임 간 비교에 기반하여 반응형 영상을 생성하는 전자 장치 및 그 방법
WO2024158132A1 (ko) * 2023-01-26 2024-08-02 삼성전자 주식회사 카메라의 노출을 제어하는 전자 장치 및 그 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060070280A (ko) * 2004-12-20 2006-06-23 한국전자통신연구원 손 제스처 인식을 이용한 사용자 인터페이스 장치 및 그방법
KR100858358B1 (ko) * 2006-09-29 2008-09-11 김철우 손의 움직임 인식을 이용한 사용자인터페이스 장치 및 방법
KR101189633B1 (ko) * 2011-08-22 2012-10-10 성균관대학교산학협력단 손가락 움직임에 따른 포인터 제어명령어 인식 방법 및 손가락 움직임에 따라 포인터를 제어하는 모바일 단말
CN107885317A (zh) * 2016-09-29 2018-04-06 阿里巴巴集团控股有限公司 一种基于手势的交互方法及装置
US10564174B2 (en) * 2017-09-06 2020-02-18 Pixart Imaging Inc. Optical sensing apparatuses, method, and optical detecting module capable of estimating multi-degree-of-freedom motion
KR102582863B1 (ko) * 2018-09-07 2023-09-27 삼성전자주식회사 사용자 의도 기반 제스처 인식 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024076202A1 (ko) * 2022-10-07 2024-04-11 이철우 복수의 프레임 간 비교에 기반하여 반응형 영상을 생성하는 전자 장치 및 그 방법
WO2024158132A1 (ko) * 2023-01-26 2024-08-02 삼성전자 주식회사 카메라의 노출을 제어하는 전자 장치 및 그 방법

Also Published As

Publication number Publication date
WO2022108001A1 (ko) 2022-05-27

Similar Documents

Publication Publication Date Title
KR102368661B1 (ko) 사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝
US20230013680A1 (en) Neural network system for gesture, wear, activity, or carry detection on a wearable or mobile device
KR102576135B1 (ko) 감각 안경류
JP7125950B2 (ja) 虹彩コードの蓄積および信頼性割当
CN110018736B (zh) 人工现实中的经由近眼显示器界面的对象增强
US20230152902A1 (en) Gesture recognition system and method of using same
CN116324677A (zh) 响应于检测到的手势的非接触式照片捕获
US20200380723A1 (en) Online learning for 3d pose estimation
CN117280711A (zh) 头部相关传递函数
KR20220067964A (ko) 카메라 시야(fov) 가장자리에서 움직임을 인식하여 전자 장치를 제어하는 방법 및 그 전자 장치
US20230037866A1 (en) Device and method for acquiring depth of space by using camera
CN117337426A (zh) 音频加强的增强现实
Perra et al. Adaptive eye-camera calibration for head-worn devices
US20220159174A1 (en) Method of controlling electronic device by recognizing movement in peripheral zone of field of view of camera, and electronic device therefor
US20230186579A1 (en) Prediction of contact points between 3d models
US11863963B2 (en) Augmented reality spatial audio experience
CN115698989A (zh) 用于认证头戴式显示器的用户的系统和方法
JP2017111537A (ja) ヘッドマウントディスプレイおよびヘッドマウントディスプレイのプログラム
US20230401893A1 (en) Electronic device for obtaining feature point from coded image and method for operating the same
KR20230169822A (ko) 부호화 이미지로부터 특징점을 획득하는 전자 장치 및 그 동작 방법
KR20170093057A (ko) 미디어 중심의 웨어러블 전자 기기를 위한 손 제스쳐 명령의 처리 방법 및 장치
US20240211035A1 (en) Focus adjustments based on attention
US20240054694A1 (en) Electronic device for placing object according to space in augmented reality and operation method of electronic device
KR20230122263A (ko) 시선 기반 촉각 인터페이스를 제공하기 위한 컴퓨터 장치 및 그의 방법
KR20240044294A (ko) 응시점에 기반한 정보 제공을 위한 방법 및 이를 위한 전자 장치

Legal Events

Date Code Title Description
A201 Request for examination