KR20230077575A - 전자 장치 내에서 제스처 인식 성능 개선을 위한 러닝 방법 - Google Patents

전자 장치 내에서 제스처 인식 성능 개선을 위한 러닝 방법 Download PDF

Info

Publication number
KR20230077575A
KR20230077575A KR1020210188584A KR20210188584A KR20230077575A KR 20230077575 A KR20230077575 A KR 20230077575A KR 1020210188584 A KR1020210188584 A KR 1020210188584A KR 20210188584 A KR20210188584 A KR 20210188584A KR 20230077575 A KR20230077575 A KR 20230077575A
Authority
KR
South Korea
Prior art keywords
classifier
electronic device
target gesture
sample
update
Prior art date
Application number
KR1020210188584A
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 PCT/KR2022/014556 priority Critical patent/WO2023096134A1/ko
Publication of KR20230077575A publication Critical patent/KR20230077575A/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G21/00Input or output devices integrated in time-pieces
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

일 실시예에 따른 전자 장치는 컴퓨터로 실행 가능한 명령어들이 저장된 메모리, 메모리에 액세스하여 명령어들을 실행하는 프로세서를 포함하고, 프로세서는, 결정트리 네트워크(decision tree network) 기반 분류기에 하나의 타겟 제스처 샘플을 입력하고, 하나의 타겟 제스처 샘플에 대응하여 트리 별로 선택되는 제1 리프들을 식별하고, 식별된 제1 리프들 각각의 보상값을 업데이트 단위 값 만큼 증가시켜 분류기의 상향 업데이트를 수행할 수 있다.

Description

전자 장치 내에서 제스처 인식 성능 개선을 위한 러닝 방법{LEARNING METHOD TO IMPROVE GESTURE RECOGNITION PERFORMANCE IN ELECRTRONIC DEVICE}
본 발명의 다양한 실시 예들은 전자 장치 내에서 제스처 인식 성능 개선을 위한 러닝 방법에 관한 것이다.
사용자 인터페이스 기술 중 제스처(gesture) 인식 기술은 크게 이미지 센서를 활용하여 이미지를 통해 제스처를 인식하는 기술과 이미지 센서 외의 다른 센서(예를 들어, 가속도 센서 또는 자이로 센서의 관성 측정 장비(intertial measurement unit, IMU))를 활용하여 제스처를 인식하는 기술로 구분할 수 있다. 이미지 센서 외의 다른 센서를 활용하여 제스처를 인식하는 기술은 언제 어디서나 사용이 가능하기 때문에, 이미지 센서를 활용하여 제스처를 인식하는 기술 보다 자유도가 높은 장점을 가지고 있다.
전자 장치 내에서 제스처 인식률이 낮아지는 가장 큰 이유는 다양한 상황 및 상태에 따라 센서 신호들의 변동폭이 다르게 나타날 수 있고, 사람 마다 생체 신호의 기본 파형 특성이 서로 다르게 나타날 수 있어 동일한 제스처 동작에 대한 신호의 파형이 다양하게 나타난다는 점이다. 종래에는 다양한 신호 파형들이 최대한으로 수집하여 트레이닝 데이터 셋을 구성하였고, 트레이닝 데이터 셋으로 분류기를 트레이닝하여 상당히 보편적인 특성을 갖는 분류기를 생성하였다. 그러나, 모든 사람들의 제스처 샘플을 수집하거나 모든 상황에서의 제스처 샘플을 수집하는 것은 불가능하기 때문에, 전자 장치의 실사용자의 제스처에 관한 신호 특성이 트레이닝 데이터 셋의 특성과 유사도가 작을 수 있고, 분류기를 통한 정확한 제스처 인식을 기대할 수 없게 된다
본 문서에 개시되는 다양한 실시예에 따르면, 일 실시예에 따른 전자 장치는 사용자로부터 적어도 하나의 제스처 샘플을 수집할 수 있고, 수집된 적어도 하나의 제스처 샘플을 사용하여 분류기를 사용자에 적합하도록 업데이트할 수 있다. 사용자 개개인에 맞는 분류기를 새로 생성하는 것은 여러 문제들로 인해 구현되기 어렵다. 따라서, 전자 장치는 기존에 생성된 분류기에 사용자로부터 수집된 제스처 샘플을 입력하여 제스처 샘플에 대응하는 리프들을 식별하고, 식별된 리프들의 보상값을 증가시킴으로써 분류기를 사용자에게 적합하도록 업데이트할 수 있다.
일 실시예에 따른 전자 장치는, 컴퓨터로 실행 가능한 명령어들(computer-executable instructions)이 저장된 메모리, 상기 메모리에 액세스(access)하여 상기 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 결정트리 네트워크(decision tree network) 기반 분류기에 하나의 타겟 제스처 샘플을 입력하고, 상기 하나의 타겟 제스처 샘플에 대응하여 트리 별로 선택되는 제1 리프들을 식별하고, 상기 식별된 제1 리프들 각각의 보상값을 업데이트 단위 값 만큼 증가시켜 상기 분류기의 상향 업데이트를 수행할 수 있다.
일 실시예에 따른 전자 장치에 의해 수행되는 방법은, 결정트리 네트워크(decision tree network) 기반 분류기에 하나의 타겟 제스처 샘플을 입력하는 동작, 상기 하나의 타겟 제스처 샘플에 대응하여 트리 별로 선택되는 제1 리프들을 식별하는 동작, 및 상기 식별된 제1 리프들 각각의 보상값을 업데이트 단위 값 만큼 증가시켜 상기 분류기의 상향 업데이트를 수행하는 동작을 포함할 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2a 및 도 2b는 일 실시예에 따른 전자 장치의 사시도이다.
도 3은 일 실시예에 따른 전자 장치의 분해 사시도이다.
도 4는 전자 장치에서 제스처 인식이 수행되는 과정을 설명하는 도면이다.
도 5는 분류기에서 트레이닝을 통해 제스처를 분류할 수 있는 네트워크가 형성되는 과정을 설명하는 도면이다.
도 6은 일 실시예에 따른 전자 장치가 분류기를 업데이트하는 동작을 개략적으로 설명하는 흐름도이다.
도 7은 일 실시예에 따른 전자 장치가 분류기를 업데이트하는 과정을 설명하는 도면이다.
도 8은 결정트리 네트워크 기반 분류기의 구조를 설명하는 도면이다.
도 9는 일 실시예에 따른 전자 장치가 결정트리 네트워크 기반 분류기에 데이터 샘플을 입력하여 분류기를 업데이트하는 과정을 설명하는 도면이다.
도 10은 일 실시예에 따른 전자 장치가 분류기를 업데이트하는 전체적인 과정을 설명하는 도면이다.
도 11은 일 실시예에 따른 전자 장치가 분류기를 사용자 별로 업데이트한 경우 업데이트된 분류기 별로 성능 평가 결과를 예시적으로 나타낸 표이다.
도 12는
Figure pat00001
Figure pat00002
와의 관계를 나타내는 그래프이다.
도 13은
Figure pat00003
Figure pat00004
와의 관계를 나타내는 그래프이다.
도 14는 일 실시예에 따른 전자 장치가 수동적 방법(passive method)으로 타겟 제스처 샘플을 수집하는 과정을 설명하는 도면이다.
도 15는 일 실시예에 따른 전자 장치가 능동적 방법(active method)으로 타겟 제스처 샘플을 수집하는 과정을 설명하는 도면이다.
도 16은 일 실시예에 따른 전자 장치가 수동적 방법으로 타겟 제스처 샘플을 수집하여 분류기의 업데이트를 수행하는 과정을 설명하는 흐름도이다.
도 17은 일 실시예에 따른 전자 장치가 타겟 제스처 샘플 수집의 기준이 되는 임계 확률을 조정하는 과정을 설명하는 도면이다.
도 18은 일 실시예에 따른 전자 장치가 능동적 방법(active method)으로 타겟 제스처 샘플을 수집하여 분류기의 업데이트를 수행하는 과정을 설명하는 흐름도이다.
도 19는 일 실시예에 따른 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 과정을 구체적으로 설명하는 흐름도이다.
도 20은 일 실시예에 따른 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 과정을 설명하는 도면이다.
도 21은 일 실시예에 따른 전자 장치가 타겟 제스처 샘플을 수집한 이후의 동작을 설명하는 흐름도이다.
도 22는 일 실시예에 따른 전자 장치가 화면에 분류기의 성능 평가 결과를 표시하는 것을 나타내는 도면이다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2a 및 2b를 참조하면, 일 실시예에 따른 전자 장치(200)(예: 도 1의 전자 장치(101))는, 제1 면(또는 전면)(210A), 제2 면(또는 후면)(210B), 및 제1 면(210A) 및 제2 면(210B) 사이의 공간을 둘러싸는 측면(210C)을 포함하는 하우징(210)과, 상기 하우징(210)의 적어도 일부에 연결되고 상기 전자 장치(200)를 사용자의 신체 일부(예: 손목, 발목 등)에 탈착 가능하게 결착하도록 구성된 결착 부재(250, 260)를 포함할 수 있다. 다른 실시예(미도시)에서는, 하우징은, 도 2a 및 2b의 제1 면(210A), 제2 면(210B) 및 측면(210C)들 중 일부를 형성하는 구조를 지칭할 수도 있다. 일 실시예에 따르면, 제1 면(210A)은 적어도 일부분이 실질적으로 투명한 전면 플레이트(201)(예: 다양한 코팅 레이어들을 포함하는 글라스 플레이트, 또는 폴리머 플레이트)에 의하여 형성될 수 있다. 제2 면(210B)은 실질적으로 불투명한 후면 플레이트(207)에 의하여 형성될 수 있다. 상기 후면 플레이트(207)는, 예를 들어, 코팅 또는 착색된 유리, 세라믹, 폴리머, 금속(예: 알루미늄, 스테인레스 스틸(STS), 또는 마그네슘), 또는 상기 물질들 중 적어도 둘의 조합에 의하여 형성될 수 있다. 상기 측면(210C)은, 전면 플레이트(201) 및 후면 플레이트(207)와 결합하며, 금속 및/또는 폴리머를 포함하는 측면 베젤 구조 (또는 “측면 부재”)(206)에 의하여 형성될 수 있다. 어떤 실시예에서는, 후면 플레이트(207) 및 측면 베젤 구조(206)는 일체로 형성되고 동일한 물질(예: 알루미늄과 같은 금속 물질)을 포함할 수 있다. 상기 결착 부재(250, 260)는 다양한 재질 및 형태로 형성될 수 있다. 직조물, 가죽, 러버, 우레탄, 금속, 세라믹, 또는 상기 물질들 중 적어도 둘의 조합에 의하여 일체형 및 복수의 단위 링크가 서로 유동 가능하도록 형성될 수 있다.
일 실시예에 따르면, 전자 장치(200)는, 디스플레이(220, 도 3 참조), 오디오 모듈(205, 208), 센서 모듈(211), 키 입력 장치(202, 203, 204) 및 커넥터 홀(209) 중 적어도 하나 이상을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(200)는, 구성요소들 중 적어도 하나(예: 키 입력 장치(202, 203, 204), 커넥터 홀(209), 또는 센서 모듈(211))를 생략하거나 다른 구성요소를 추가적으로 포함할 수 있다.
디스플레이(220)는, 예를 들어, 전면 플레이트(201)의 상당 부분을 통하여 시각적으로 노출될 수 있다. 디스플레이(220)의 형태는, 상기 전면 플레이트(201)의 형태에 대응하는 형태일 수 있으며, 원형, 타원형, 또는 다각형과 같이 다양한 형태일 수 있다. 디스플레이(220)는, 터치 감지 회로, 터치의 세기(압력)를 측정할 수 있는 압력 센서, 및/또는 지문 센서와 결합되거나 인접하여 배치될 수 있다.
오디오 모듈(205, 208)은, 마이크 홀(205) 및 스피커 홀(208)을 포함할 수 있다. 마이크 홀(205)은 외부의 소리를 획득하기 위한 마이크가 내부에 배치될 수 있고, 어떤 실시예에서는 소리의 방향을 감지할 수 있도록 복수개의 마이크가 배치될 수 있다. 스피커 홀(208)은, 외부 스피커 및 통화용 리시버로 사용할 수 있다. 어떤 실시예에서는 스피커 홀(208)과 마이크 홀(205)이 하나의 홀로 구현 되거나, 스피커 홀(208) 없이 스피커가 포함될 수 있다(예: 피에조 스피커).
센서 모듈(211)은, 전자 장치(200)의 내부의 작동 상태, 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(211)은, 예를 들어, 상기 하우징(210)의 제2 면(210B)에 배치된 생체 센서 모듈(211)(예: HRM 센서)을 포함할 수 있다. 전자 장치(200)는, 도시되지 않은 센서 모듈, 예를 들어, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서 중 적어도 하나를 더 포함할 수 있다.
센서 모듈(211)은 전자 장치(200)의 표면의 일부를 형성하는 전극 영역(213, 214) 및 전극 영역(213, 214)과 전기적으로 연결되는 생체 신호 검출 회로(미도시)를 포함할 수 있다. 예를 들어, 전극 영역(213, 214)은 하우징(210)의 제2 면(210B)에 배치되는 제1 전극 영역(213)과 제2 전극 영역(214)을 포함할 수 있다. 센서 모듈(211)은 전극 영역(213, 214)이 사용자의 신체 일부로부터 전기 신호를 획득하고, 생체 신호 검출 회로가 상기 전기 신호에 기반하여 사용자의 생체 정보를 검출하도록 구성될 수 있다.
키 입력 장치(202, 203, 204)는, 하우징(210)의 제1 면(210A)에 배치되고 적어도 하나의 방향으로 회전 가능한 휠 키(202), 및/또는 하우징(210)의 측면(210C)에 배치된 사이드 키 버튼(203, 204)을 포함할 수 있다. 휠 키는 전면 플레이트(201)의 형태에 대응하는 형태일 수 있다. 다른 실시예에서는, 전자 장치(200)는 상기 언급된 키 입력 장치(202, 203, 204)들 중 일부 또는 전부를 포함하지 않을 수 있고 포함 되지 않은 키 입력 장치(202, 203, 204)는 디스플레이(220) 상에 소프트 키 등 다른 형태로 구현될 수 있다. 커넥터 홀(209)은, 외부 전자 장치와 전력 및/또는 데이터를 송수신하기 위한 커넥터(예를 들어, USB 커넥터)를 수용할 수 있고 외부 전자 장치와 오디오 신호를 송수신하기 위한 커넥터를 수용할 수 있는 다른 커넥터 홀(미도시))을 포함할 수 있다. 전자 장치(200)는, 예를 들면, 커넥터 홀(209)의 적어도 일부를 덮고, 커넥터 홀에 대한 외부 이물질의 유입을 차단하는 커넥터 커버(미도시)를 더 포함할 수 있다.
결착 부재(250, 260)는 락킹 부재(251, 261)를 이용하여 하우징(210)의 적어도 일부 영역에 탈착 가능하도록 결착될 수 있다. 결착 부재(250, 260)는 고정 부재(252), 고정 부재 체결 홀(253), 밴드 가이드 부재(254), 밴드 고정 고리(255) 중 하나 또는 그 이상을 포함할 수 있다.
고정 부재(252)는 하우징(210)과 결착 부재(250, 260)를 사용자의 신체 일부(예: 손목, 발목 등)에 고정시키도록 구성될 수 있다. 고정 부재 체결 홀(253)은 고정 부재(252)에 대응하여 하우징(210)과 결착 부재(250, 260)를 사용자의 신체 일부에 고정시킬 수 있다. 밴드 가이드 부재(254)는 고정 부재(252)가 고정 부재 체결 홀(253)과 체결 시 고정 부재(252)의 움직임 범위를 제한하도록 구성됨으로써, 결착 부재(250, 260)가 사용자의 신체 일부에 밀착하여 결착되도록 할 수 있다. 밴드 고정 고리(255)는 고정 부재(252)와 고정 부재 체결 홀(253)이 체결된 상태에서, 결착 부재(250,260)의 움직임 범위를 제한할 수 있다.
도 3을 참조하면, 전자 장치(300)(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 측면 베젤 구조(310), 휠 키(320), 전면 플레이트(201), 디스플레이(220), 제1 안테나(350), 제2 안테나(355), 지지 부재(360)(예: 브라켓), 배터리(370), 인쇄 회로 기판(380), 실링 부재(390), 후면 플레이트(393), 및 결착 부재(395, 397)를 포함할 수 있다. 전자 장치(300)의 구성요소들 중 적어도 하나는, 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200)의 구성요소들 중 적어도 하나와 동일, 또는 유사할 수 있으며, 중복되는 설명은 이하 생략한다. 지지 부재(360)는, 전자 장치(300) 내부에 배치되어 측면 베젤 구조(310)와 연결될 수 있거나, 상기 측면 베젤 구조(310)와 일체로 형성될 수 있다. 지지 부재(360)는, 예를 들어, 금속 재질 및/또는 비금속 (예: 폴리머) 재질로 형성될 수 있다. 지지 부재(360)는, 일면에 디스플레이(220)가 결합되고 타면에 인쇄 회로 기판(380)이 결합될 수 있다. 인쇄 회로 기판(380)에는, 프로세서, 메모리, 및/또는 인터페이스가 장착될 수 있다. 프로세서는, 예를 들어, 중앙처리장치, GPU(graphic processing unit), 어플리케이션 프로세서 센서 프로세서, 또는 커뮤니케이션 프로세서 중 하나 또는 그 이상을 포함할 수 있다.
메모리는, 예를 들어, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 인터페이스는, 예를 들어, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 및/또는 오디오 인터페이스를 포함할 수 있다. 인터페이스는, 예를 들어, 전자 장치(300)를 외부 전자 장치와 전기적 또는 물리적으로 연결시킬 수 있으며, USB 커넥터, SD 카드/MMC 커넥터, 또는 오디오 커넥터를 포함할 수 있다.
배터리(370)는, 전자 장치(300)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 또는 재충전 가능한 2차 전지, 또는 연료 전지를 포함할 수 있다. 배터리(370)의 적어도 일부는, 예를 들어, 인쇄 회로 기판(380)과 실질적으로 동일 평면 상에 배치될 수 있다. 배터리(370)는 전자 장치(200) 내부에 일체로 배치될 수 있고, 전자 장치(200)와 탈부착 가능하게 배치될 수도 있다.
제 1 안테나(350)는 디스플레이(220)와 지지부재(360) 사이에 배치될 수 있다. 제 1 안테나(350)는, 예를 들어, NFC(near field communication) 안테나, 무선 충전 안테나, 및/또는 MST(magnetic secure transmission) 안테나를 포함할 수 있다. 제 1 안테나(350)는, 예를 들어, 외부 장치와 근거리 통신을 하거나, 충전에 필요한 전력을 무선으로 송수신 할 수 있고, 근거리 통신 신호 또는 결제 데이터를 포함하는 자기-기반 신호를 송출할 수 있다. 다른 실시예에서는, 측면 베젤 구조(310) 및/또는 상기 지지부재(360)의 일부 또는 그 조합에 의하여 안테나 구조가 형성될 수 있다.
제 2 안테나(355)는 인쇄 회로 기판(380)과 후면 플레이트(393) 사이에 배치될 수 있다. 제 2 안테나(355)는, 예를 들어, NFC(near field communication) 안테나, 무선 충전 안테나, 및/또는 MST(magnetic secure transmission) 안테나를 포함할 수 있다. 제 2 안테나(355)는, 예를 들어, 외부 장치와 근거리 통신을 하거나, 충전에 필요한 전력을 무선으로 송수신 할 수 있고, 근거리 통신 신호 또는 결제 데이터를 포함하는 자기-기반 신호를 송출할 수 있다. 다른 실시예에서는, 측면 베젤 구조(310) 및/또는 상기 후면 플레이트(393)의 일부 또는 그 조합에 의하여 안테나 구조가 형성될 수 있다.
실링 부재(390)는 측면 베젤 구조(310)와 후면 플레이트(393) 사이에 위치할 수 있다. 실링 부재(390)는, 외부로부터 측면 베젤 구조(310)와 후면 플레이트(393)에 의해 둘러싸인 공간으로 유입되는 습기와 이물을 차단하도록 구성될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 4는 전자 장치에서 제스처 인식이 수행되는 과정을 설명하는 도면이다.
전자 장치에서 제스처 인식이 사용되는 애플리케이션은 매우 다양하다. 예를 들어, 전화가 걸려오는 경우에 사용자는 전화를 수신하기 위하여 OCO(open-clench-open) 제스처를 수행할 수 있고, 전자 장치는 사용자의 OCO 제스처를 인식함으로써 걸려오는 전화를 수신할 수 있다. 이러한 동작을 위해서 전자 장치는 센서의 신호를 관측하다가 신호가 튀는 부분을 크롭(crop)하는 세그멘테이션(segmentation) 동작을 수행해야 하며, 세그멘테이션 동작의 수행에 의해 획득된 신호 부분으로부터 여러 특징들을 추출하는 분류(classification) 동작을 수행하여야 한다. 전자 장치의 제스처 인식 성능을 높이기 위해서는 입력 데이터가 나타내는 제스처 종류를 판단 할 수 있는 분류기(classifier)의 성능을 높이는 것이 필요하다. 전자 장치는 트레이닝 하고자 하는 제스처들 각각에 대한 트레이닝 데이터 샘플들을 수집할 수 있고, 수집된 트레이닝 데이터 샘플들을 분류기에 입력하여 반복적으로 트레이닝시킴으로써 분류기를 생성할 수 있다.
도 5는 분류기에서 트레이닝을 통해 제스처를 분류할 수 있는 네트워크가 형성되는 과정을 설명하는 도면이다.
분류기(501)에서 트레이닝을 통해 제스처를 분류할 수 있는 네트워크(510)가 형성될 수 있다. 네트워크(510)는 다층 퍼셉트론 네트워크(multi-layer perceptron network)(511) 및 완전 연결된 네트워크(fully connected network)(512)로 구성될 수 있다. 다층 퍼셉트론 네트워크(511)는 복수의 노드들을 포함할 수 있고, 복수의 노드들 각각은 입력 데이터의 세분화된 정보에 기초하여 활성 또는 비활성화 중 하나로 결정된 정보를 다른 노드로 전송할 수 있다. 다층 퍼셉트론 네트워크(511)는 입력 데이터에 대한 제스처의 특징들을 세밀하게 분류할 수 있다. 완전 연결된 네트워크(512)는 다층 퍼셉트론 네트워크(511)로부터 세밀하게 분류된 입력 데이터의 제스처의 특징들에 기초하여 입력 데이터에 대응하는 스코어(score)를 산출할 수 있다. 예를 들어, 네트워크가 'OCO 제스처'와 'OCO가 아닌 제스처'의 두 분류에 대하여 트레이닝되는 경우, 다층 퍼셉트론 네트워크(511)는 두 분류를 세밀하게 나눌 수 있는 특징들에 대한 노드들로 구성된다. 다층 퍼셉트론 네트워크(511)는 임의의 입력 데이터가 입력되는 경우에 입력 데이터의 세밀하게 분류된 특징들에 대한 정보를 완전 연결된 네트워크(512)에 전송할 수 있고, 완전 연결된 네트워크(512)는 입력 데이터의 세밀하게 분류된 특징들을 통합하여 'OCO 제스처'에 대한 스코어 및 'OCO가 아닌 제스처' 각각에 대한 스코어를 산출할 수 있다. 네트워크(510)는 분류 별로 산출된 스코어에 기초하여 입력 신호가 어떠한 제스처를 나타내는 지 판단할 수 있다. 예를 들어, 'OCO 제스처'에 대한 스코어가 90으로 산출되고, 'OCO가 아닌 제스처'에 대한 스코어가 10으로 산출되는 경우, 네트워크(510)는 입력 데이터가 'OCO 제스처'를 나타내는 것으로 판단할 수 있다.
전자 장치가 네트워크(510)를 트레이닝시키는 경우, 트레이닝 데이터 셋(training data set)(511)을 생성하는 것이 중요하다. 분류기(501)의 오류를 최소화하기 위해서는 트레이닝 데이터 셋(511)이 정확한 데이터 샘플들로만 구성되어 있어야 하고, 트레이닝 데이터 셋에 포함된 데이터 샘플들은 제스처들에 대한 데이터 샘플들을 대표할 수 있어야 한다. 즉, 트레이닝 데이터 셋을 생성하기 위해서는 제스처들에 대한 데이터 샘플들을 대표하는 것으로 볼 수 있을 정도로 충분히 많은 데이터 샘플들이 수집되어야 한다. 이를 위해 종래에는 다양한 사람(예를 들어, 성별, 나이, 피부톤), 다양한 상황(예를 들어, 서 있는 상황, 앉아 있는 상황, 걸어가는 상황), 다양한 착용상태(예를 들어, 느슨한 착용상태, 타이트한 착용상태) 등 최대한 많은 다양성을 가진 데이터 샘플들을 수집하였고, 수집된 데이터 샘플들을 검수하여 트레이닝 데이터 셋을 생성하였다.
도 6은 일 실시예에 따른 전자 장치가 분류기를 업데이트하는 동작을 개략적으로 설명하는 흐름도이다.
일 실시예에 따르면, 전자 장치는 트레이닝 데이터 셋으로 트레이닝된 보편적 분류기를 포함할 수 있다. 사용자는 전자 장치에 포함된 보편적 분류기를 기본으로 사용할 수 있다. 사용자는 보편적 분류기를 자신에게 맞추고 싶은 경우 또는 보편적 분류기가 자신에게 적합하지 않은 분류기인 것으로 판단되는 경우에 보편적 분류기(이하, '분류기')의 업데이트를 요청할 수 있다. 전자 장치는 사용자로부터 타겟 제스처 샘플을 수집하여 분류기를 업데이트할 수 있다.
동작(610)에서 전자 장치는 타겟 제스처 샘플을 수집할 수 있다. 사용자는 타겟 제스처에 대한 동작을 수행할 수 있다. 전자 장치는 사용자가 수행하는 타겟 제스처에 대한 동작을 센서로 인식하여 타겟 제스처에 대한 데이터 샘플(이하, '타겟 제스처 샘플')을 수집 및 저장할 수 있다.
동작(620)에서 전자 장치는 수집된 타겟 제스처 샘플을 분류기에 입력하여 타겟 제스처 샘플에 대응하는 제1 리프들을 식별할 수 있다. 전자 장치는 식별된 제1 리프들에 관한 정보를 저장할 수 있다. 예를 들어, 전자 장치는 식별된 제1 리프들 각각의 인덱스 번호를 저장할 수 있다. 타겟 제스처 샘플에 대응하는 제1 리프들이란 타겟 제스처 샘플이 분류기에 입력 데이터로 입력되는 경우에 다층 퍼셉트론 네트워크의 트리 별로 최종적으로 도달하는 리프들을 나타낼 수 있다. 이하 명세서에서는, 리프의 인덱스 번호를 리프 인덱스로 설명한다.
동작(630)에서 전자 장치는 식별된 제1 리프들이 가중치를 더 갖도록 식별된 제1 리프들 각각의 보상값(리턴값이라고도 함)을 업데이트(update)할 수 있다. 다시 말해, 전자 장치는 식별된 제1 리프들 각각의 보상값에 바이어스를 적용하여 업데이트함으로써 분류기를 사용자에 적합하도록 업데이트할 수 있다. 전자 장치는 저장된 리프 인덱스에 대응하는 레지스트리로부터 식별된 제1 리프들 각각의 보상값을 로드할 수 있고, 식별된 제1 리프들 각각의 보상값을 업데이트 단위 값 만큼 증가시킴으로써 분류기를 업데이트할 수 있다.
도 7은 일 실시예에 따른 전자 장치가 분류기를 업데이트하는 과정을 설명하는 도면이다.
일 실시예에 따른 전자 장치는 리프들의 보상값을 업데이트함으로써 분류기를 업데이트할 수 있다. 전자 장치는 다중 퍼셉트론 네트워크(511)로부터 완전 연결된 네트워크(512)로 넘어가는 단계에 배치된 리프들(710)의 보상값을 업데이트할 수 있다.
리프들(710)은 완전 연결된 네트워크(512)에서 분류 별로 스코어를 산출하는 동작이 수행되기 바로 전에 배치된 노드들을 나타낼 수 있다. 리프들의 보상값을 업데이트 하는 것은 입력 데이터가 네트워크에 입력 되는 경우에 리프까지 도달하는 네트워크 경로에 가중치를 부여하는 것을 나타낼 수 있다. 이하 명세서에서는, 다층 퍼셉트론 네트워크(511)가 결정트리 네트워크(decision tree network)인 경우를 주로 설명하나, 다층 퍼셉트론 네트워크를 반드시 이로 한정하는 것은 아니다.
도 8은 결정트리 네트워크 기반 분류기(810)의 구조를 설명하는 도면이다.
분류기(810)는 다수의 트리들(trees)(811, 812, …, 813)을 포함할 수 있고, 각 트리 내에서는 이진 결정(binary decision)을 기반으로 하나의 노드로부터 오른쪽 또는 왼쪽의 브랜치(branch)로 뻗어나가 다음의 노드로 도달하며, 브랜치들은 최종적으로 리프(leaf)에서 종료될 수 있다. 입력 데이터가 하나의 트리에 입력되어 해당 트리 내의 리프에 도달하게 되면, 도달된 리프의 보상값이 반환될 수 있다. 예를 들어, 트리(811)에 입력 데이터가 입력되어 리프(811-0)에 도달하게 되면, 전자 장치는 리프(811-0)의 리프 인덱스(index)에 대응하는 레지스트리(A0)로부터 리프(811-0)의 보상값을 로드할 수 있다.
분류기는 트레이닝 알고리즘에 의해 최적화될 수 있고, 트레이닝 데이터 셋으로 분류기가 트레이닝됨에 따라 트레이닝 데이터 셋이 대표할 수 있는 전체 집단에 대한 제스처 인식 성능을 최대화할 수 있다. 그러나, 분류기가 전체 집단에 대한 제스처 인식 성능이 최대화 되었다고 하더라도, 개인에 대하여 제스처 인식 성능이 최대화 되었다고는 할 수 없다. 다시 말해, 분류기는 개개인에 대한 제스처 인식 성능에 최적화가 되어 있는 것이 아니기 때문에, 개인에 대하여 제스처 인식 성능이 최대화 된 것은 아니다. 일 실시예에 따른 전자 장치는 분류기의 리프들의 보상값을 조정함으로써 분류기의 개인에 대한 제스처 인식 성능을 최대화할 수 있다.
도 9는 일 실시예에 따른 전자 장치가 결정트리 네트워크 기반 분류기(810)에 데이터 샘플을 입력하여 분류기를 업데이트하는 과정을 설명하는 도면이다.
전자 장치는 입력 데이터를 결정트리 네트워크 기반 분류기(810)에 입력할 수 있다. 여기서, 입력 데이터는 타겟 제스처 샘플(911)일 수 있다. 타겟 제스처 샘플(911)이 결정트리 네트워크 기반 분류기(810)에 입력되는 경우, 분류기(810)의 트리들(811, 812, …, 813) 각각에서는 이진 결정을 기반으로 브랜치 선택 및 노드 선택이 이루어질 수 있다. 예를 들어, 제1 트리(811)에 입력 데이터(911)가 입력되는 경우, 제1 트리(811)의 가장 상위 노드(821)가 선택될 수 있다. 그리고, 노드(821)가 갖는 조건(condition)에 따라 우측 브랜치 또는 좌측 브랜치 중 하나가 선택될 수 있고, 예를 들어, 좌측 브랜치가 선택된 경우에는 노드(821)의 좌측 자녀 노드인 노드(831)가 선택될 수 있다. 노드(831)가 갖는 조건에 따라 다시 하나의 브랜치가 선택될 수 있고, 선택된 브랜치에 의해 노드(831)의 자녀 노드가 선택될 수 있다. 이러한 방식으로, 트리(811) 내에서 브랜치 선택과 노드 선택이 반복됨으로써 트리(811) 내의 리프(811-1)가 최종적으로 선택될 수 있고, 선택된 리프(811-1)의 보상값을 타겟 제스처 샘플(911)이 트리(811)로부터 획득하는 스코어인 것으로 판단할 수 있다. 유사한 방식으로, 전자 장치는 나머지 트리들(812, …, 813) 각각에 타겟 제스처 샘플(911)을 입력함으로써 트리들(812, …, 813) 각각에 대한 스코어를 산출할 수 있다. 전자 장치는 트리들(811, 812, …, 813) 각각에 대하여 산출된 스코어를 모두 합산할 수 있고, 합산된 스코어를 타겟 제스처 샘플이 분류기(810)로부터 획득하는 최종 스코어인 것으로 판단할 수 있다.
일 실시예에 따른 전자 장치는 타겟 제스처 샘플(911)을 분류기(810)에 입력하여 분류기(810)를 사용자에 맞추어 업데이트할 수 있다. 전자 장치는 타겟 제스처 샘플(911)을 트리들(811, 812, …, 813) 별로 입력할 수 있고, 타겟 제스처 샘플(911)에 대응하여 트리 별로 선택되는 제1 리프들을 식별할 수 있다. 여기서, 제1 리프는 타겟 제스처 샘플에 대응하여 선택되는 리프를 나타낼 수 있다. 전자 장치는 식별된 리프들 각각의 보상값을 업데이트 단위 값(
Figure pat00005
) 만큼 증가시킬 수 있다.
예를 들어, 전자 장치는 타겟 제스처 샘플(911)을 분류기(810)에 입력하여 트리들(811, 812, …, 813) 별로 선택되는 제1 리프들(811-1, 812-15, …, 813-2) 각각의 리프 인덱스를 저장할 수 있다. 전자 장치는 저장된 리프 인덱스들 각각에 대응하는 레지스트리로부터 로드된 제1 리프들(811-1, 812-15, …, 813-2) 각각의 보상값을 증가시킬 수 있다. 이하 명세서에서는, 타겟 제스처 샘플을 분류기에 입력하여 타겟 제스처 샘플에 대응하여 트리 별로 선택되는 제1 리프들 각각의 보상값을 증가시키는 과정을 분류기의 상향 업데이트 동작으로 설명한다.
분류기(810)에 포함된 트리들의 총 개수는 N개일 수 있다. 여기서, N은 1 이상의 자연수를 나타낼 수 있다. 타겟 제스처 샘플에 대응하는 제1 리프들(811-1, 812-15, …, 813-2) 각각의 보상값을 업데이트 단위 값(
Figure pat00006
) 만큼 증가시켜 분류기(810)를 업데이트시킨 경우, 동일한 타겟 제스처 샘플이 분류기(810)에 입력되면 타겟 제스처 샘플에 대하여 산출되는 최종 스코어는 상향 업데이트 동작이 수행되기 이전의 분류기에서 해당 타겟 제스처 샘플에 대하여 산출되는 최종 스코어 보다
Figure pat00007
만큼 증가하게 된다.
일 실시예에 따르면, 전자 장치는 오경보 데이터(false alarm data) 샘플을 분류기(810)에 입력하여 분류기(810)를 사용자에 맞추어 업데이트할 수 있다. 여기서, 오경보 데이터 샘플이란 타겟 제스처를 나타내는 데이터 샘플이 아니지만 분류기(810)가 타겟 제스처로 잘못 판단하는 데이터 샘플을 나타낼 수 있다. 타겟 제스처 샘플만을 분류기(810)에 입력하여 제1 리프들의 보상값을 증가시키는 경우, 분류기(810) 내의 전체 리프들의 보상값의 합(sum)이 계속 증가하기 때문에 분류기(810)에서 오경보(false alarm)가 발생될 확률이 높아질 수 있는 부작용이 존재한다. 오경보란 분류기(810)에 타겟 제스처를 나타내지 않는 데이터 샘플을 입력하는 경우에 분류기(810)가 해당 데이터 샘플이 타겟 제스처를 나타내는 것으로 판단하는 것을 나타낼 수 있다.
예를 들어, 타겟 제스처 샘플들 만을 사용하여 분류기가 업데이트된 경우를 가정한다. 타겟 제스처 외의 다른 제스처와 관련된 데이터 샘플이 업데이트된 분류기에 입력되고, 입력된 데이터 샘플에 대응하여 보상값이 크게 증가된 리프들이 선택되는 경우, 데이터 샘플에 대하여 산출되는 최종 스코어가 업데이트 이전의 분류기에서의 데이터 샘플에 대하여 산출되는 최종 스코어 보다 높게되는 결과가 발생할 수 있다. 이러한 경우, 분류기는 해당 데이터 샘플이 타겟 제스처를 나타내는 것으로 잘못 판정할 확률이 높아지는 문제점이 발생한다. 이러한 부작용을 방지하기 위해 전체 리프들의 보상값들의 합(sum)이 증가하지 않도록 반대 급부의 동작이 함께 수행 될 필요가 있다.
일 실시예에 따르면, 전자 장치는 오경보 데이터 샘플을 분류기(810)에 입력하여, 트리들(811, 812, …, 813) 별로 선택되는 제2 리프들을 식별할 수 있다. 제2 리프는 오경보 데이터 샘플에 대응하여 선택되는 리프를 나타낼 수 있다. 전자 장치는 식별된 제2 리프들 각각의 보상값을 감소시킬 수 있다. 전자 장치는 식별된 제2 리프들 각각의 보상값을 업데이트 단위 값(
Figure pat00008
) 만큼 감소시킬 수 있다. 이하 명세서에서는, 오경보 데이터 샘플을 분류기에 입력하여 오경보 데이터 샘플에 대응하여 트리 별로 선택되는 제2 리프들 각각의 보상값을 감소시키는 과정을 분류기의 하향 업데이트 동작으로 설명한다.
분류기(810)에 포함된 트리들의 총 개수가 N개이고, 오경보 데이터 샘플에 대응하는 제2 리프들 각각의 보상값을 업데이트 단위 값(
Figure pat00009
) 만큼 감소시켜 분류기(810)를 업데이트시킨 경우, 동일한 오경보 데이터 샘플이 분류기(810)에 입력되면 오경보 데이터 샘플에 대하여 산출되는 최종 스코어는 하향 업데이트 동작이 수행되기 이전의 분류기에서 해당 오경보 데이터 샘플에 대하여 산출되는 최종 스코어 보다
Figure pat00010
만큼 감소하게 된다.
전자 장치가 오경보 데이터 샘플을 분류기에 입력하여 분류기의 하향 업데이트 동작을 수행하는 경우, 해당 오경보 데이터 샘플에 대하여 분류기에서 산출되는 최종 스코어가
Figure pat00011
만큼 감소하여 해당 오경보 데이터 샘플이 타겟 제스처를 나타내는 데이터라고 판단될 확률을 감소시킬 수 있다. 또한, 전자 장치는 하나의 오경보 데이터 샘플을 사용하여 분류기를 하향 업데이트시키는 경우, 분류기 내의 전체 리프들의 보상값의 합도
Figure pat00012
만큼 감소하기 때문에 분류기의 상향 업데이트 동작과 함께 보상값의 합의 균형을 유지시킬 수 있다.
전자 장치는 분류기를 업데이트하기 위해 타겟 제스처 샘플들 및 오경보 데이터 샘플들을 획득하는 것이 중요하다. 전자 장치는 초기에 사용자에게 보편적 분류기를 제공하되, 타겟 제스처 샘플 및 오경보 데이터 샘플을 이용한 분류기의 업데이트를 통해 보편적 분류기를 사용자에게 적합한 분류기로 업데이트할 수 있다. 후술하겠으나, 전자 장치는 전자 장치의 화면에 사용자 인터페이스(user interface, UI)를 표시함으로써 사용자가 타겟 제스처 동작을 수행하도록 유도할 수 있고, 사용자의 타겟 제스처 동작을 인식하여 타겟 제스처 샘플을 수집할 수 있다. 예를 들어, 전자 장치는 사용자에게 타겟 제스처 동작에 대한 명확한 가이드를 제공할 수 있고, 사용자로부터 획득된 데이터 샘플 각각에 대하여 타겟 제스처를 나타낼 확률을 산출할 수도 있기 때문에, 사용자로부터 유효한 타겟 제스처 샘플을 획득할 수 있다. 반면에, 전자 장치는 사용자로부터 오경보 데이터 샘플을 수집하는 것은 어렵다. 예를 들어, 전자 장치는 사용자에게 오경보 데이터 샘플을 수집하기 위한 명확한 가이드를 제공하기 어렵고, 사용자로부터 획득된 데이터 샘플에 대하여 오경보 데이터 샘플을 나타낼 확률을 산출할 수도 없기 때문에, 사용자로부터 유효한 오경보 데이터 샘플을 획득하는 것은 매우 어렵다. 따라서, 전자 장치는 오경보 데이터 샘플을 사용자로부터 획득하는 대신, 보편적 분류기의 트레이닝에 이용된 트레이닝 데이터 셋으로부터 오경보 데이터 샘플들을 획득할 수 있다. 전자 장치는 초기에 사용자에게 보편적 분류기와 함께 트레이닝 데이터 셋으로부터 추출된 오경보 데이터 샘플들을 제공할 수 있다. 이하 명세서에서는, 전자 장치가 보편적 분류기의 트레이닝에 이용된 트레이닝 데이터 셋으로부터 획득된 오경보 데이터 샘플들을 이용하여 분류기를 업데이트하는 것으로 설명하나, 반드시 이로 한정하는 것은 아니고, 전자 장치는 분류기를 업데이트하는 과정에서 사용자로부터 획득되는 데이터 샘플을 통해 오경보 데이터 샘플을 획득할 수도 있다.
전자 장치는 분류기(810) 내의 리프들의 업데이트된 보상값들을 다양한 방법으로 로드할 수 있다.
일 실시예에 따르면, 전자 장치는 분류기(810) 내의 전체 리프들 각각에 대응하는 레지스트리들을 생성하고, 생성된 레지스트리에 리프의 업데이트된 보상값을 저장함으로써 리프의 업데이트된 보상값을 로드할 수 있다. 예를 들어, 도 8 내지 도 9에 도시된 바와 같이, 전자 장치는 분류기(810) 내의 전체 리프들의 리프 인덱스들 각각에 대응하는 레지스트리들(예를 들어, A0, A1, A2, …)을 생성할 수 있다. 전자 장치는 분류기의 업데이트가 수행되는 경우에 리프의 기존 보상값이 업데이트되는 경우, 리프의 업데이트된 보상값을 리프의 리프 인덱스에 대응하는 레지스트리에 저장할 수 있다. 이하 명세서에서, 리프의 업데이트된 보상값은 리프의 기존 보상값에서 기존 보상값이 증가 또는 감소하는 정도를 나타내는 값인 리프의 업데이트 값을 합한 값을 나타낼 수 있다. 반면, 전자 장치는 분류기의 업데이트가 수행되는 경우에 리프의 기존 보상값이 유지되는 경우, 리프의 리프 인덱스에 대응하는 레지스트리에 저장된 리프의 기존 보상값을 그대로 유지할 수 있다. 리프의 업데이트된 보상값을 리프에 대응하는 레지스트리에 저장하는 방법은, 전자 장치가 리프의 업데이트된 보상값을 리프에 대응하는 레지스트리에서 빠르게 로드할 수 있다는 장점이 존재한다.
다른 일 실시예에 따르면, 전자 장치는 도 8 또는 도 9와 같이 분류기(810) 내의 전체 리프들 각각에 대응하는 레지스트리들을 생성하는 대신, 분류기의 업데이트에 따라 보상값이 업데이트되는 리프들 각각에 대응하는 레지스트리들을 생성하고, 생성된 레지스트리에 리프의 업데이트 값을 저장함으로써 리프의 업데이트된 보상값을 로드할 수 있다. 보다 구체적으로, 전자 장치는 분류기의 업데이트를 수행하는 경우, 보상값이 업데이트되는 리프들 각각에 대응하는 레지스트리들을 생성할 수 있다. 전자 장치는 보상값이 업데이트되는 특정 리프의 리프 인덱스 및 특정 리프의 업데이트 값을 특정 리프에 대응하는 레지스트리에 저장할 수 있다. 이후, 전자 장치는 레지스트리에 저장된 리프 인덱스 및 업데이트 값을 로드하여 리프 인덱스에 대응하는 리프의 보상값에 업데이트 값을 합하여 리프의 업데이트된 보상값을 산출할 수 있다. 전자 장치는 분류기(810)의 업데이트가 모두 이루어진 이후, 생성된 레지스트리들 각각에 저장된 리프 인덱스와 업데이트 값을 로드하여 분류기(810) 내의 리프들 각각의 최종적인 보상값들을 산출할 수 있다. 보상값이 업데이트되는 리프들 각각에 대응하는 레지스트리들을 생성함으로써 리프의 업데이트된 보상값을 로드하는 방법은, 보상값이 업데이트된 리프들에 대응하는 레지스트리들만 생성하면 충분하기 때문에 저장 공간을 효율적으로 사용할 수 있다는 장점이 존재한다.
도 10은 일 실시예에 따른 전자 장치가 분류기를 업데이트하는 전체적인 과정을 설명하는 도면이다.
일 실시예에 따르면, 동작(1001)에서 전자 장치는 분류기(1020)의 트레이닝에 이용된 트레이닝 데이터 셋(1010)으로부터 오경보 데이터 샘플들(1030)을 추출할 수 있다. 전자 장치는 오경보 데이터 샘플들(1030)을 분류기(1020)의 트레이닝에 사용된 트레이닝 데이터 셋(1010)으로부터 획득할 수 있다. 트레이닝 데이터 셋(1010)에 포함된 데이터 샘플들 각각이 나타내는 제스처 종류는 미리 결정되어 있을 수 있다. 전자 장치는 트레이닝 데이터 셋(1010)이 포함하는 데이터 샘플들 중 타겟 제스처를 나타내지 않는 데이터 샘플들을 추출할 수 있다. 전자 장치는 추출된 데이터 샘플들 각각을 분류기(1020)에 입력할 수 있다. 전자 장치는 추출된 데이터 샘플들 중으로부터 분류기(1020)에 입력되는 경우에 타겟 제스처로 분류되는 데이터 샘플들을 오경보 데이터 샘플들(1030)로 사용할 수 있다. 전자 장치는 오경보 데이터 샘플들(1030)을 이용하여 분류기의 하향 업데이트 동작을 수행할 수 있다.
일 실시예에 따르면, 동작(1002)에서 전자 장치는 사용자로부터 수집된 하나의 타겟 제스처 샘플(1041)과 하나의 오경보 데이터 샘플(1042)을 하나의 쌍(pair)으로 매핑할 수 있다. 전자 장치는 타겟 제스처 샘플(1041)에 기초한 분류기(1020)의 상향 업데이트 및 오경보 데이터 샘플(1042)에 기초한 분류기(1020)의 하향 업데이트를 함께 수행할 수 있다. 일 실시예에 따르면, 전자 장치는 분류기의 상향 업데이트와 분류기의 하향 업데이트를 한번 씩 번갈아 수행하여 분류기를 업데이트할 수 있다.
보다 구체적으로, 전자 장치는 타겟 제스처 샘플(1041)을 분류기(1020)에 입력하여 타겟 제스처 샘플(1041)에 대응하여 트리 별로 선택되는 제1 리프들을 식별할 수 있다. 전자 장치는 타겟 제스처 샘플(1041)에 대응하여 선택되는 제1 리프들의 리프 인덱스를 저장할 수 있다. 전자 장치는 오경보 데이터 샘플(1042)을 분류기(1020)에 입력하여 오경보 데이터 샘플(1042)에 대응하여 트리 별로 선택되는 제2 리프들을 식별할 수 있다. 전자 장치는 오경보 데이터 샘플(1042)에 대응하여 선택되는 제2 리프들의 리프 인덱스를 저장할 수 있다.
동작(1003)에서 전자 장치는 분류기(1020) 내의 리프들의 보상값을 증가 및 감소시킴으로써 분류기(1020)를 업데이트할 수 있다. 전자 장치는 타겟 제스처 샘플(1041)에 대응하여 식별된 제1 리프들 각각의 보상값을 업데이트 단위 값(
Figure pat00013
) 만큼 증가시킴으로써 분류기(1020)의 상향 업데이트 동작(1051)을 수행할 수 있다. 또한, 전자 장치는 오경보 데이터 샘플(1042)에 대응하여 식별된 제2 리프들 각각의 보상값을 업데이트 단위 값(
Figure pat00014
) 만큼 감소시킴으로써 분류기(1020)의 하향 업데이트 동작(1052)을 수행할 수 있다. 일 실시예에 따르면, 전자 장치는 타겟 제스처 샘플에 기초한 분류기의 상향 업데이트 동작과 해당 타겟 제스처 샘플과 매핑된 오경보 데이터 샘플에 기초한 분류기의 하향 업데이트 동작을 함께 수행함으로써 분류기(1020)를 업데이트할 수 있다. 전자 장치가 타겟 제스처 샘플(1041)과 오경보 데이터 샘플(1042)을 쌍(pair)으로 분류기(1020)에 입력하여 분류기(1020)를 업데이트하는 것은 타겟 제스처에 부합하는 리프들 중 오경보를 증가시킬 수 있는 리프들을 제외한 나머지 리프들에 대하여서만 보상값을 증가시킨다는 것을 나타낼 수 있다. 예를 들어, 타겟 제스처와 타겟 제스처가 아닌 제스처가 공통으로 손목이 좌우로 한번 움직이는 공통의 특징이 있는 경우, 이러한 공통의 특징에 스코어를 부여하는 리프의 보상값이 증가하게 되면 타겟 제스처가 아닌 제스처에 관한 데이터 샘플도 분류기에 입력하였을 때 높은 스코어를 획득하게 된다. 따라서, 전자 장치는 타겟 제스처 샘플(1041)과 오경보 데이터 샘플(1042)을 쌍으로 분류기(1020)에 입력하여 분류기를 업데이트함으로써 타겟 제스처와 타겟 제스처가 아닌 제스처의 공통의 특징에 스코어를 부여하는 리프의 보상값이 증가하지 않도록 할 수 있다. 예를 들어, 전자 장치는 아래 수학식 1에 따라 분류기(1020)를 업데이트할 수 있다.
Figure pat00015
수학식 1에서, Rn,m은 n번째 트리에서의 m번째 리프의 보상값, sk t는 k번째 업데이트에서 사용되는 타겟 제스처 샘플, sk f는 k번째 업데이트에서 사용되는 오경보 데이터 샘플,
Figure pat00016
는 업데이트 단위 값,
Figure pat00017
는 입력 x를 n번째 트리에 입력하는 경우에 선택되는 리프의 리프 인덱스를 반환해주는 함수,
Figure pat00018
는 함수 내의 수식이 참인 경우에 1을 반환하고, 함수 내의 수식이 거짓인 경우에 0을 반환하는 함수를 나타낼 수 있다. 수학식 1을 참조하면, 전자 장치는 타겟 제스처 샘플을 이용한 분류기의 상향 업데이트 동작과 오경보 데이터 샘플을 이용한 분류기의 하향 업데이트 동작을 한번 씩 번갈아 수행함으로써 분류기를 업데이트할 수 있다.
일 실시예에 따르면, 업데이트 단위 값(
Figure pat00019
)이 크게 설정되는 경우, 분류기에 대하여 업데이트가 수행되면 분류기의 성능 변화가 급격히 이루어 질 수 있다. 전자 장치는 분류기에 대한 적은 횟수의 업데이트를 통해 사용자에게 적합한 분류기로 업데이트할 수 있으나, 적은 횟수의 업데이트는 특정 데이터 샘플에 대한 분류기의 의존성(dependency)이 높아지게 되어 오경보 발생 확률을 증가시킬 수 있다. 따라서, 전자 장치는 사용자에게 적합한 분류기로 업데이트하기 위해 많은 횟수로 분류기를 업데이트할 필요가 있으며, 업데이트 단위 값(
Figure pat00020
)은 너무 크지 않도록 해야 한다. 일 실시예에 따른 전자 장치는 아래 수학식 2에 따른 제약 조건으로 업데이트 단위 값(
Figure pat00021
)의 범위를 설정할 수 있다.
Figure pat00022
수학식 2에서,
Figure pat00023
는 미리 정한 값, N은 분류기 내에서의 트리의 총 개수,
Figure pat00024
는 전체 리프들의 보상값에 대한 통계 함수,
Figure pat00025
는 업데이트에 의한 변화 값의 비중을 나타낼 수 있다.
도 11은 일 실시예에 따른 전자 장치가 분류기를 사용자 별로 업데이트한 경우 업데이트된 분류기 별로 성능 평가 결과를 예시적으로 나타낸 표이다.
이하에서는, 전자 장치가 사용자 별로 수집된 10개의 타겟 제스처 샘플을 사용하여 수학식 1에 따라 분류기를 사용자 별로 업데이트 한 경우로서, 업데이트 단위 값이 0.01이고, 타겟 제스처는 "Knock Down 2회"이며, 분류기는 타겟 제스처와 타겟 제스처를 제외한 나머지 제스처들의 2 가지로 분류할 수 있는 분류기인 것으로 가정한다.
전자 장치는 업데이트 되기 이전의 분류기에 대한 타겟 제스처 감지 확률 및 오경보 확률을 산출할 수 있다. 예를 들어, 업데이트 되기 이전의 분류기가 1074개의 타겟 제스처를 나타내는 데이터 샘플들 중 989개의 데이터 샘플들을 타겟 제스처로 정상 감지하고, 85개의 데이터 샘플들을 타겟 제스처가 아닌 다른 제스처들로 오감지하는 경우에 타겟 제스처 인식률은 92.1%로 측정될 수 있다. 업데이트 되기 이전의 분류기가 108055개의 타겟 제스처가 아닌 다른 제스처들을 나타내는 데이터 샘플들 중 147개의 데이터 샘플들을 타겟 제스처로 오감지하는 경우에 오경보 확률은 0.1%로 측정될 수 있다. 위 성능을 갖는 분류기를 각 사용자 별로 각각 업데이트 한 이후에 업데이트된 분류기 각각에 대한 성능을 평가하면 도 11에 도시된 표와 같이 개선된 성능을 확인할 수 있다.
도 11을 참조하면, 업데이트 이전의 분류기의 타겟 제스처 인식률이 100%가 되지 않았던 사용자에 대하여, 업데이트 이후의 분류기에 의한 타겟 제스처 인식률은 대부분 대폭 상승함을 확인할 수 있다. 이하, 명세서에서 분류기의 타겟 제스처 인식률이란 타겟 제스처를 나타내는 데이터 샘플을 분류기가 타겟 제스처라고 인식하는 확률을 나타낼 수 있다. 반면, 업데이트 이전의 분류기에 의한 오경보 확률과 업데이트 이후의 분류기에 의한 오경보 확률은 사용자들 개별적으로 보았을 때 소폭 상승하였음을 확인할 수 있다. 또한, 사용자 개개인에 맞추어 분류기의 업데이트가 수행되는 경우에 업데이트 이전의 분류기에 의한 타겟 제스처 인식률이 낮았던 사용자에 대하여, 업데이트 이후의 분류기에 의한 타겟 제스처 인식률은 대부분 상승한다. 반면, 업데이트 이전의 분류기에 의한 타겟 제스처 인식률이 이미 높았던 사용자에 대하여, 업데이트 이후의 분류기에 의한 오경보 확률은 증가한다. 이러한 부작용이 발생하는 원인은 두 가지로 설명될 수 있다. 첫번째 원인은, 타겟 제스처 샘플에 기초하여 분류기의 상향 업데이트를 수행하는 경우, 분류기 내의 특정 리프들의 보상값들이 과도하게 증가하게 되기 때문이다. 두번째 원인은, 분류기의 하향 업데이트를 수행하는 경우, 하향 업데이트에 사용된 오경보 데이터 샘플에 의존성(dependency)을 가지게 되기 때문이다.
분류기의 부작용 발생의 첫번째 원인은, 분류기가 사용자에게 맞춰진 상태 또는 분류기가 사용자에게 적합한 상태로 어느 정도 업데이트가 된 경우, 전자 장치가 계속하여 분류기를 업데이트함으로써 리프의 보상값을 변경하면 오히려 분류기의 성능 하락을 불러 일으킬 수 있다는 것을 의미한다. 이하에서는, 첫번째 원인에 의한 분류기의 부작용을 방지할 수 있는 2가지 방법에 대하여 설명한다.
첫째로, 전자 장치는 분류기의 업데이트에 사용되는 업데이트 단위 값(
Figure pat00026
)을 조절함으로써 부작용을 방지할 수 있다. 충분히 높은 제스처 인식 성능을 갖는 분류기에서는 업데이트를 급격히 할 필요가 없을 뿐만 아니라 부작용에 대하여 더 조심해야 한다. 이에, 전자 장치는 업데이트 단위 값(
Figure pat00027
)을 일정한 상수 값으로 유지하는 대신, 업데이트 단위 값(
Figure pat00028
)을 현재 분류기의 제스처 인식률에 반비례하여 조정함으로써 부작용을 최소화할 수 있다.
전자 장치는 분류기의 상향 업데이트를 수행하는 경우, 업데이트 단위 값을 현재 분류기의 타겟 제스처 인식률에 반비례하도록 조정할 수 있다. 전자 장치는 분류기의 하향 업데이트 동작을 수행하는 경우에는 업데이트 단위 값(
Figure pat00029
)을 일정한 상수 값으로 유지할 수 있다. 예를 들어, 전자 장치는 아래 수학식 3에 따라 분류기를 업데이트할 수 있다.
Figure pat00030
수학식 3에서, Rn,m은 n번째 트리에서의 m번째 리프의 보상값, sk t는 k번째 업데이트에서 사용되는 타겟 제스처 샘플, sk f는 k번째 업데이트에서 사용되는 오경보 데이터 샘플,
Figure pat00031
Figure pat00032
,
Figure pat00033
Figure pat00034
를 나타낼 수 있다. 여기서, c는 일정한 상수 값을 나타내며,
Figure pat00035
는 k번째 업데이트에서 일정한 상수 값(c)에 부가되는 가중치로서
Figure pat00036
에 비례할 수 있다(
Figure pat00037
).
Figure pat00038
는 분류기에 의해 도출되는 제스처 인식률을 나타낼 수 있다. 도 12는
Figure pat00039
Figure pat00040
와의 관계를 나타내는 그래프이다.
둘째로, 전자 장치는 분류기의 전체 리프들 각각의 보상값을 감소시킴으로써 부작용을 방지할 수 있다. 일 실시예에 따르면, 전자 장치는 분류기에 대한 상향 업데이트 및 하향 업데이트를 한 번씩 수행하는 경우, 분류기의 전체 리프들 각각의 보상값을 보상 조정 값(bk) 만큼 감소시킬 수 있다. 일 실시예에 따르면, 전자 장치는 분류기의 상향 업데이트 및 분류기의 하향 업데이트를 한 번씩 수행한 이후에 보상 조정 값(bk)을 현재 분류기의 타겟 제스처 인식률에 비례하도록 조정할 수 있다.
전자 장치는 분류기의 전체 리프들 각각의 보상값을 모두 감소시킴으로써 전체 리프들의 보상값의 합(sum)을 낮출 수 있다. 이는 분류기의 업데이트에 의해 타겟 제스처의 특징에 스코어를 부여하는 리프들의 보상값이 충분히 높아지므로, 높아진 보상값의 일부를 사용하여 전체 리프들의 보상값을 낮추어 분류기의 오경보 확률을 낮추는 것에 초점을 두는 방식이다. 예를 들어, 전자 장치는 아래 수학식 4에 따라 분류기를 업데이트할 수 있다. 전자 장치는 수학식 4에 따라 분류기를 업데이트함으로써, 분류기의 업데이트 단위 값을 현재 분류기의 타겟 제스처 인식률에 반비례하도록 조정하면서도, 전체 리프들 각각의 보상값을 분류기의 타겟 제스처 인식률에 비례하여 감소시킬 수 있다.
Figure pat00041
수학식 4에서, bk는 k번째 업데이트에서 보상 조정 값으로
Figure pat00042
에 비례할 수 있다(
Figure pat00043
). 도 13은
Figure pat00044
Figure pat00045
와의 관계를 나타내는 그래프이다.
분류기의 부작용 발생의 두번째 원인은, 전자 장치가 분류기의 상향 업데이트 동작과 균형을 맞추기 위해 하향 업데이트 동작을 수행하는 경우에 분류기가 하향 업데이트 동작에 사용된 오경보 데이터 샘플에 의존성을 가지게 될 수 있다는 것을 의미한다. 예를 들어, 전체 오경보 데이터 샘플들이 총 30개가 존재한다고 가정한다. 이러한 경우, 전자 장치가 분류기에 대하여 30번의 하향 업데이트를 수행하는 경우, 전체 오경보 데이터 샘플들이 모두 사용되어 하향 업데이트가 수행됨으로써 리프들의 보상값의 감소가 전반적으로 적용될 수 있다. 그러나, 전자 장치가 분류기에 대하여 3번의 하향 업데이트만을 수행하는 경우, 3개의 오경보 데이터 샘플들 만을 사용하여 하향 업데이트가 수행됨으로써 분류기가 3개의 오경보 데이터 샘플들에 대하여 의존성(dependency)이 높아지게 되는 문제점이 발생한다. 이에, 전자 장치는 분류기의 하향 업데이트를 수행하는 경우, 전체 오경보 데이터 샘플들 각각에 대응하는 리프들을 식별하고, 식별된 리프들의 보상값을 추가적으로 감소시킴으로써 부작용을 최소화할 수 있다.
일 실시예에 따르면, 전자 장치는 분류기의 하향 업데이트를 수행하는 경우, 전체 오경보 데이터 샘플들 각각에 대응하는 리프들을 식별하고, 식별된 리프들 각각에 대하여 해당 리프가 전체 오경보 데이터 샘플들에 대응하여 선택된 횟수를 지시하는 통계값을 산출하며, 해당 리프들에 대해 산출된 통계값에 비례하는 값으로 해당 리프의 보상값을 추가로 감소시킬 수 있다. 예를 들어, 전자 장치는 전체 오경보 데이터 샘플들 각각에 대응하여 식별된 리프들의 리프 인덱스를 저장할 수 있고, 식별된 리프들 각각의 리프 인덱스가 나타나는 횟수를 카운팅하여 리프 별로 통계값을 산출할 수 있다. 예를 들어, 전자 장치는 통계값이 높게 산출되는 리프에 대해서는 보상값을 큰 값으로 감소시킬 수 있고, 통계값이 낮게 산출되는 리프에 대해서는 보상값을 작은 값으로 감소시킬 수 있다. 요약하면, 전자 장치는 아래 수학식 5에 따라 분류기를 업데이트할 수 있다.
Figure pat00046
수학식 5에서,
Figure pat00047
는 분류기의 하향 업데이트 수행시에 사용된 오경보 데이터 샘플의 적용분과 전체 오경보 데이터 샘플들의 적용분의 비율을 나타낼 수 있다.
Figure pat00048
는 통계적인 함수로서, 예를 들어, 평균 함수 또는 평균 제곱 함수를 나타낼 수 있다.
Figure pat00049
는 하향 업데이트 수행시에 사용되는 개별 오경보 데이터 샘플에 의해 리프의 보상값이 차감되는 것을 나타낼 수 있고,
Figure pat00050
는 하향 업데이트 수행시에 전체 오경보 데이터 샘플들에 대응하여 식별된 리프들의 통계값에 의해 리프의 보상값이 차감되는 것을 나타낼 수 있다. 전자 장치는 수학식 5에 따라 분류기를 업데이트함으로써, 업데이트 단위 값을 현재 분류기의 타겟 제스처 인식률에 반비례하도록 조정하고, 전체 리프들 각각의 보상값을 분류기의 타겟 제스처 인식률에 비례하여 감소시키며, 전체 오경보 데이터 샘플들 각각에 대응하여 식별된 리프들의 보상값을 식별된 리프들의 통계값에 따라 추가적으로 감소시킬 수 있다.
더 나아가, 전체 오경보 데이터 샘플들에 대응하는 리프들을 식별하고, 식별된 리프들 각각에 대한 통계값을 산출하는 것은 전자 장치에 큰 부하를 줄 수 있다. 일 실시예에 따르면, 전자 장치는
Figure pat00051
를 증가시킴으로써 전자 장치가 분류기의 하향 업데이트 수행시 마다 전체 오경보 데이터 샘플들에 대응하는 리프들을 식별 및 리프 노프들의 통계값을 산출함으로써 감당하는 부하를 감소시킬 수 있다.
전자 장치가 수학식 5에 따라 분류기의 업데이트를 수행하는 경우, 분류기의 초반 업데이트 시에는 상향 업데이트에 의한 영향이 크기 때문에 분류기의 타겟 제스처 인식률 상승이 빠르게 이루어지고, 분류기에 대해 업데이트가 누적되어 분류기의 타겟 제스처 인식률이 높아질수록 하향 업데이트에 의한 영향이 커져서 분류기의 오경보 확률을 감소시키는 방향으로 업데이트가 될 수 있다.
이하에서는, 일 실시예에 따른 전자 장치가 분류기를 업데이트 시키기 위하여 타겟 제스처 샘플을 수집하는 방법을 설명한다. 전자 장치가 분류기를 사용자에게 적합하게 업데이트 하기 위해서 타겟 제스처 샘플을 정확하게 수집하는 것이 중요하다. 일 실시예에 따르면, 전자 장치는 사용자가 수행하는 제스처 동작을 인식하여 타겟 제스처 샘플을 수집할 수 있다. 일 실시예에 따르면, 전자 장치는 사용자의 타겟 제스처 동작을 인식하여 생성된 센서의 신호를 크롭(crop)하여 타겟 제스처 확률이 임계 확률 이상인 적어도 하나의 타겟 제스처 샘플을 수집할 수 있고, 수집된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기를 업데이트할 수 있다. 전자 장치는 2가지의 방법으로 타겟 제스처 샘플을 수집할 수 있다. 전자 장치는 수동적 방법(passive method) 및 능동적 방법(active method)으로 타겟 제스처 샘플을 수집할 수 있다.
여기서, 전자 장치가 수동적 방법으로 타겟 제스처 샘플을 수집한다는 것은 전자 장치가 타겟 제스처 샘플의 수집을 위해 샘플 수집 타이머(timer)(이하, '타이머')를 시작 및 종료시키고, 타이머의 진행 기간 동안에 수행된 사용자의 타겟 제스처 동작을 인식하여 타겟 제스처 샘플을 수집하는 것을 나타낼 수 있다. 전자 장치가 수동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 전자 장치가 타이머의 진행 기간 동안에 사용자가 타겟 제스처 동작을 수행하였다고 가정할 수 있다는 장점이 존재한다. 그러나, 전자 장치가 수동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 사용자가 타겟 제스처 동작을 수행하는 시점을 적극적으로 맞추어 타겟 제스처 동작을 수행해야 한다는 단점이 존재한다.
전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집한다는 것은, 사용자가 임의의 시점에 타겟 제스처 동작을 수행하는 경우 전자 장치가 사용자의 타겟 제스처 동작을 능동적으로 인식하여 타겟 제스처 샘플을 수집하는 것을 나타낼 수 있다. 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 사용자가 시간의 제약 없이 원하는 시점에 타겟 제스처 동작을 수행할 수 있다는 장점이 존재한다. 그러나, 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 사용자가 언제 타겟 제스처 동작을 수행할 지 알 수 없기 때문에, 전자 장치는 지속적으로 센서의 신호를 크롭(crop)하는 세그멘테이션 동작 및 세그멘테이션 동작의 수행에 의해 획득된 신호 부분으로부터 여러 특징들을 추출하는 분류(classificaiton) 동작을 수행하면서 해당 신호 부분이 타겟 제스처에 대응하는 신호인지 여부를 모니터링(monitoring)해야 하는 단점이 존재한다. 다시 말해, 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 전자 장치는 사용자의 타겟 제스처 동작이 수행된 구간을 특정할 수 없다는 단점이 존재한다.
도 14는 일 실시예에 따른 전자 장치가 수동적 방법(passive method)으로 타겟 제스처 샘플을 수집하는 과정을 설명하는 도면이다.
사용자는 사용자 조작을 통해 전자 장치의 화면(1410)에 표시된 타겟 제스처 샘플을 수동적 방법으로 수집하기 위한 객체(1411)를 활성화할 수 있다. 객체의 활성화는, 예를 들어, 사용자가 객체를 터치하는 등의 조작을 포함할 수 있다. 객체(1411)는 전자 장치가 수동적 방법으로 타겟 제스처 샘플을 수집하도록 설정하는 객체를 나타낼 수 있다. 전자 장치는 객체(1411)가 활성화되는 경우에 응답하여, 제1 타이머(timer)를 시작할 수 있다. 전자 장치는 제1 타이머를 제1 시간 동안 진행시킬 수 있다. 전자 장치는 제1 타이머를 시작한 시점으로부터 미리 결정된 시간이 경과하는 경우 진동(vibration)을 발생시켜 바람직한 타겟 제스처 동작 수행 시점을 사용자에게 통지할 수 있다. 전자 장치는 제1 타이머가 시작 시점으로부터 제1 시간 이후에 종료되는 경우, 수집된 타겟 제스처 샘플의 개수(1421)(예를 들어, 1개)를 화면에 표시할 수 있다. 사용자는 사용자 조작을 통해 화면에 표시된 분류기 업데이트를 위한 객체(1412)(예를 들어, "Apply updates" 버튼)를 활성화할 수 있다. 객체(1412)는 전자 장치에 저장된 적어도 하나의 타겟 제스처 샘플을 분류기에 입력하여 분류기를 업데이트하도록 설정하는 객체를 나타낼 수 있다. 전자 장치는 객체(1412)가 활성화되는 경우에 응답하여, 저장된 적어도 하나의 타겟 제스처 샘플을 분류기에 입력하여 분류기를 업데이트할 수 있다. 전자 장치는 저장된 적어도 하나의 타겟 제스처 샘플과 트레이닝 데이터 셋으로부터 추출된 오경보 데이터 샘플을 사용하여 분류기의 상향 업데이트 및 하향 업데이트 동작을 수행할 수 있다. 전자 장치는 분류기의 업데이트를 완료하는 경우, 현재까지 분류기의 업데이트에 사용된 타겟 제스처 샘플의 개수(1422)(예를 들어, 1개)를 화면에 표시할 수 있다. 그리고, 사용자는 다시 타겟 제스처 샘플을 수동적 방법으로 수집하기 위한 객체(1411)를 활성화할 수 있고, 전자 장치는 제1 타이머를 시작하여 수동적 방법으로 타겟 제스처 샘플을 수집할 수 있다.
도 15는 일 실시예에 따른 전자 장치가 능동적 방법(active method)으로 타겟 제스처 샘플을 수집하는 과정을 설명하는 도면이다.
사용자는 사용자 조작을 통해 전자 장치의 화면(1510)에 표시된 타겟 제스처 샘플을 능동적 방법으로 수집하기 위한 객체(1511)를 활성화할 수 있다. 객체(1511)는 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하도록 설정하는 객체를 나타낼 수 있다. 전자 장치는 객체(1511)가 활성화되는 경우에 응답하여, 샘플 수집 모드로 진입할 수 있다. 전자 장치는 샘플 수집 모드를 진입하여 샘플 수집 모드가 해제될 때까지 사용자로부터 타겟 제스처 샘플을 수집할 수 있다. 전자 장치는 샘플 수집 모드로 진입하는 경우, 사용자에게 타겟 제스처 동작 수행을 요청하는 메시지(예를 들어, 'Try Gesture')(1512)를 화면에 표시할 수 있다. 사용자는 전자 장치의 샘플 수집 모드가 해제될 때까지 타겟 제스처 동작을 언제든지 수행할 수 있다. 사용자가 타겟 제스처 동작을 수행하는 경우, 전자 장치는 센서의 신호에 기초하여 타겟 제스처 확률이 임계 확률 이상인 데이터 샘플을 획득할 수 있다. 여기서, 타겟 제스처 확률이란 데이터 샘플이 타겟 제스처를 나타낼 확률을 나타낼 수 있다. 전자 장치는 타겟 제스처 확률이 임계 이상인 기준 데이터 샘플을 획득하면, 기준 데이터 샘플의 시작 시점으로부터 제2 시간 동안 제2 타이머를 진행시켜 제2 타이머의 진행 기간 동안에 타겟 제스처 확률이 더 높은 데이터 샘플을 검색할 수 있다. 전자 장치는 데이터 샘플을 검색하는 동안 메시지(1513)(예를 들어, 'wait catching')(1513)를 화면에 표시할 수 있다. 이후, 전자 장치는 기준 데이터 샘플 및 제2 시간 동안 검색된 타겟 제스처 확률이 임계 확률 이상인 데이터 샘플 중 타겟 제스처 확률이 가장 높은 데이터 샘플을 타겟 제스처 샘플로 저장할 수 있다. 이후, 전자 장치는 사용자에게 타겟 제스처 동작 수행을 요청하는 메시지(예를 들어, 'Try Gesture')(1514)를 화면에 다시 표시할 수 있고, 상술한 방법에 따라 사용자로부터 타겟 제스처 샘플을 수집할 수 있다. 사용자는 사용자 조작을 통해 화면에 표시된 분류기 업데이트를 위한 객체(1515)(예를 들어, "Apply updates" 버튼)를 활성화할 수 있다. 객체(1515)는 전자 장치에 저장된 적어도 하나의 타겟 제스처 샘플을 분류기에 입력하여 분류기를 업데이트하도록 설정하는 객체를 나타낼 수 있다. 전자 장치는 객체(1515)가 활성화되는 경우에 응답하여, 저장된 적어도 하나의 타겟 제스처 샘플을 분류기에 입력하여 분류기를 업데이트할 수 있다. 전자 장치는 샘플 수집 모드가 해제되기 전까지 사용자의 타겟 제스처 동작을 인식하여 타겟 제스처 샘플을 수집할 수 있다.
도 16은 일 실시예에 따른 전자 장치가 수동적 방법으로 타겟 제스처 샘플을 수집하여 분류기의 업데이트를 수행하는 과정을 설명하는 흐름도이다.
동작(1610)에서 전자 장치는 수동적 방법으로의 타겟 제스처 샘플의 수집을 개시하는 경우, 제1 타이머를 시작할 수 있다. 예를 들어, 전자 장치는 사용자에 의해 타겟 제스처 샘플을 수동적 방법으로 수집하기 위한 객체(예: 도 14의 객체(1411))가 활성화되는 경우에 응답하여, 제1 타이머를 시작할 수 있다. 사용자는 제1 타이머의 시작 시점으로부터 제1 타이머의 종료 시점까지의 진행 기간 동안에 타겟 제스처 동작을 수행할 수 있다.
동작(1620)에서 전자 장치는 제1 타이머가 종료된 이후, 제1 타이머의 진행 기간 동안에 센서의 신호로부터 획득되는 데이터 샘플들 중 타겟 제스처 확률이 임계 확률(threshold probability) 이상인 데이터 샘플들을 추출할 수 있다.
동작(1630)에서 전자 장치는 타겟 제스처 확률이 임계 확률 이상인 데이터 샘플들 중 타겟 제스처 확률이 가장 높은 데이터 샘플을 선별할 수 있고, 선별된 데이터 샘플을 타겟 제스처 샘플로 저장할 수 있다.
동작(1640)에서 전자 장치는 저장된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기의 업데이트를 수행할 지 여부를 판단할 수 있다. 전자 장치는 분류기의 업데이트를 수행하지 않는 경우, 동작(1610)으로 되돌아가 사용자의 타겟 제스처 동작을 인식하여 다른 타겟 제스처 샘플을 추가적으로 저장할 수 있다.
동작(1650)에서 전자 장치는 저장된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기를 업데이트할 수 있다. 예를 들어, 전자 장치는 사용자에 의해 분류기를 업데이트하도록 설정된 객체(예: 도 14의 객체(1412) 또는 도 15의 객체(1515))가 활성화되는 경우에 응답하여, 저장된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기의 업데이트를 수행할 수 있다.
도 17은 일 실시예에 따른 전자 장치가 타겟 제스처 샘플 수집의 기준이 되는 임계 확률을 조정하는 과정을 설명하는 도면이다.
일 실시예에 따른 전자 장치는 사용자가 수행하는 타겟 제스처 동작을 인식하여 획득하는 데이터 샘플들 중 타겟 제스처 확률이 임계 확률 미만이 되는 데이터 샘플들은 타겟 제스처 샘플로 이용하지 않을 수 있다. 다시 말해, 임계 확률의 크기에 따라 타겟 제스처 샘플 수집이 되는 기준이 달라질 수 있다.
일 실시예에 따르면, 전자 장치는 분류기에 대하여 업데이트를 수행하기 이전에는 임계 확률을 낮게 설정할 수 있다. 전자 장치는 분류기의 업데이트에 사용된 타겟 제스처 샘플들이 증가할수록 임계 확률이 증가되도록 조정할 수 있다.
전자 장치는 타겟 제스처 샘플을 사용하여 분류기의 업데이트를 수행하는 시점에, 현재까지 분류기의 업데이트에 사용된 타겟 제스처 샘플들의 개수에 기초하여 임계 확률을 증가시킬 수 있다. 예를 들어, 전자 장치는 사용자에 의해 분류기 업데이트를 위한 객체(예: 도 14의 객체(1413))가 활성화되는 경우에 응답하여, 현재까지 분류기의 업데이트에 사용된 타겟 제스처 샘플들의 개수에 기초하여 임계 확률을 증가시킬 수 있다. 도 17을 참조하면, 전자 장치는 사용자에 의해 분류기 업데이트를 위한 객체가 활성화됨으로써 분류기를 업데이트하는 시점들(1701, 1702, 1703)에서 임계 확률이 증가하도록 조정할 수 있다. 전자 장치는 임계 확률을 조정함으로써 보다 정확한 타겟 제스처 샘플들을 수집할 수 있다.
도 18은 일 실시예에 따른 전자 장치가 능동적 방법(active method)으로 타겟 제스처 샘플을 수집하여 분류기의 업데이트를 수행하는 과정을 설명하는 흐름도이다.
동작(1810)에서 전자 장치는 샘플 수집 모드로 진입할 수 있다. 전자 장치는 사용자에 의해 타겟 제스처 샘플을 능동적 방법으로 수집하기 위한 객체(예: 도 15의 객체(1511))가 활성화되는 경우에 응답하여, 샘플 수집 모드로 진입할 수 있다.
동작(1820)에서 전자 장치는 센서의 신호를 크롭(crop)하여 하나의 데이터 샘플을 획득할 수 있다. 동작(1830)에서 전자 장치는 획득된 데이터 샘플의 타겟 제스처 확률이 임계 확률 이상인 지 여부를 판단할 수 있다. 전자 장치는 획득된 데이터 샘플의 타겟 제스처 확률이 임계 확률 미만인 경우에는 동작(1820)로 돌아가 센서의 신호를 크롭하여 다른 데이터 샘플을 획득할 수 있다.
동작(1840)에서 전자 장치는 획득된 데이터 샘플의 타겟 제스처 확률이 임계 확률 이상인 경우, 획득된 데이터 샘플을 기준 데이터 샘플로 이용하여 센서의 신호로부터 타겟 제스처 샘플을 수집할 수 있다. 타겟 제스처 확률이 임계 확률 이상인 데이터 샘플에 기초하여 타겟 제스처 샘플을 센서의 신호로부터 수집하는 과정은 도 19에서 보다 구체적으로 설명한다. 전자 장치는 수집된 타겟 제스처 샘플을 저장할 수 있다.
동작(1850)에서 전자 장치는 저장된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기의 업데이트를 수행할 지 여부를 판단할 수 있다. 전자 장치는 분류기의 업데이트를 수행하지 않는 경우, 동작(1820)로 되돌아가 다른 타겟 제스처 샘플을 추가적으로 저장할 수 있다.
동작(1860)에서 전자 장치는 저장된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기를 업데이트할 수 있다. 예를 들어, 전자 장치는 사용자에 의해 분류기를 업데이트하도록 설정된 객체(예: 도 15의 객체(1515))가 활성화되는 경우에 응답하여, 저장된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기의 업데이트를 수행할 수 있다. 다른 예를 들어, 전자 장치는 분류기의 업데이트에 이용되지 않은 타겟 제스처 샘플이 미리 정한 개수 만큼 저장되는 경우, 저장된 미리 정한 개수의 타겟 제스처 샘플들을 사용하여 분류기의 업데이트를 수행할 수 있다. 미리 정한 개수는, 예를 들어, 3개일 수 있다. 전자 장치는 분류기를 업데이트하는 시점에 임계 확률이 증가하도록 조정할 수 있다.
전자 장치는 샘플 수집 모드가 해제될 때까지 타겟 제스처 샘플의 수집 및 저장된 타겟 제스처 샘플에 기초한 분류기의 업데이트를 지속적으로 수행할 수 있다.
도 19는 일 실시예에 따른 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 과정을 구체적으로 설명하는 흐름도이다.
동작(1910)에서 전자 장치는 획득된 데이터 샘플의 타겟 제스처 확률이 임계 확률 이상인 경우, 획득된 데이터 샘플을 기준 데이터 샘플로 저장하고 기준 데이터 샘플의 시작 시점을 기준으로 제2 타이머를 시작할 수 있다. 전자 장치는 기준 데이터 샘플을 초기에 저장할 수 있다.
동작(1920)에서 전자 장치는 제2 타이머를 제2 시간 동안 진행시킬 수 있고, 기준 데이터 샘플의 시작 시점으로부터 제2 시간 동안에 센서의 신호를 크롭하여 타겟 제스처 확률이 임계 확률 이상인 다른 데이터 샘플을 검색할 수 있다. 전자 장치는 타겟 제스처 확률이 임계 확률 이상인 데이터 샘플이 제2 타이머의 진행 기간 동안 검색되지 않는 경우, 전자 장치에 현재 저장된 데이터 샘플인 기준 데이터 샘플을 타겟 데이터 샘플로 수집할 수 있다.
동작(1930)에서 전자 장치는 저장된 데이터 샘플의 타겟 제스처 확률 보다 검색된 다른 데이터 샘플의 타겟 제스처 확률이 더 높은지 여부를 판단할 수 있다. 예를 들어, 전자 장치는 초기에는 기준 데이터 샘플을 저장하므로, 기준 데이터 샘플의 타겟 제스처 확률 보다 검색된 다른 데이터 샘플의 타겟 제스처 확률이 더 높은지 여부를 판단할 수 있다. 전자 장치는 다른 데이터 샘플의 타겟 제스처 확률이 저장된 데이터 샘플의 타겟 제스처 확률 보다 낮은 경우, 동작(1920)으로 되돌아가 타겟 제스처 확률이 임계 확률 이상인 다음 데이터 샘플을 검색할 수 있다.
동작(1940)에서 전자 장치는 다른 데이터 샘플의 타겟 제스처 확률이 저장된 데이터 샘플의 타겟 제스처 확률 보다 높은 경우, 저장된 데이터 샘플을 폐기하고 다른 데이터 샘플을 새로운 데이터 샘플로 저장할 수 있다.
동작(1950)에서 전자 장치는 제2 타이머가 종료되었는지 여부를 판단할 수 있다. 전자 장치는 제2 타이머가 종료되지 않은 경우, 동작(1930)으로 되돌아가 타겟 제스처 확률이 임계 확률 이상인 다음 데이터 샘플을 검색할 수 있다.
동작(1960)에서 전자 장치는 제2 타이머가 종료된 경우, 전자 장치에 현재 저장된 데이터 샘플을 타겟 데이터 샘플로 수집할 수 있다. 위와 같은 방식으로, 일 실시예에 따른 전자 장치는 제2 타이머의 시작 시점 및 종료 시점 사이의 구간 동안에 타겟 제스처 확률이 가장 높은 데이터 샘플을 타겟 데이터 샘플로 수집할 수 있다.
도 20은 일 실시예에 따른 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 과정을 설명하는 도면이다.
일 실시예에 따른 전자 장치는 샘플 수집 모드로 진입할 수 있다. 전자 장치는 센서의 신호를 크롭하여 데이터 샘플들을 획득할 수 있다. 전자 장치는 획득된 데이터 샘플들 중 타겟 제스처 확률이 임계 확률 미만인 데이터 샘플들(2001, 2002)은 타겟 제스처 샘플로 이용하지 않을 수 있다. 전자 장치는 획득된 데이터 샘플들 중 타겟 제스처 확률이 임계 확률 이상인 데이터 샘플(2010)을 기준 데이터 샘플로 사용하여 타겟 제스처 샘플을 수집할 수 있다. 전자 장치는 데이터 샘플(2010)의 시작 시점을 기준으로 제2 시간 동안 제2 타이머를 진행시킬 수 있다. 전자 장치는 데이터 샘플(2010)을 저장할 수 있고, 제2 타이머의 진행 구간(2030) 동안에 타겟 제스처 확률이 임계 확률 이상인 다른 데이터 샘플(2020)을 검색할 수 있다. 전자 장치는 검색된 다른 데이터 샘플(2020)의 타겟 제스처 확률이 데이터 샘플(2010)의 타겟 제스처 확률보다 큰 경우, 기존에 저장된 데이터 샘플(2010)을 폐기하고, 다른 데이터 샘플(2020)을 새로 저장할 수 있다. 전자 장치는 제2 타이머가 종료되는 경우, 전자 장치에 현재 저장된 데이터 샘플(2020)을 타겟 데이터 샘플로 수집할 수 있다.
도 21은 일 실시예에 따른 전자 장치가 타겟 제스처 샘플을 수집한 이후의 동작을 설명하는 흐름도이다.
동작(2110)에서 일 실시예에 따른 전자 장치는 능동적 방법 또는 수동적 방법으로 타겟 제스처 샘플을 수집할 수 있다. 전자 장치는 수집된 타겟 제스처 샘플을 저장할 수 있다. 전자 장치는 사용자의 입력에 기초하여 복수의 동작들 중 하나의 동작을 수행할 수 있다.
먼저, 동작(2121)에서 전자 장치는 저장된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기를 업데이트할 수 있다. 예를 들어, 전자 장치는 사용자에 의해 분류기를 업데이트하도록 설정된 객체(예: 도 14의 객체(1412) 또는 도 15의 객체(1515))가 활성화되는 경우에 응답하여, 저장된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기의 업데이트를 수행할 수 있다.
동작(2122)에서 전자 장치는 수집된 타겟 제스처 샘플을 폐기(discard)할 수 있다. 예를 들어, 전자 장치는 사용자에 의해 수집된 타겟 제스처 샘플을 폐기하도록 설정된 객체(예: 'Discard sample' 버튼)가 활성화되는 경우에 응답하여, 수집된 타겟 제스처 샘플을 폐기할 수 있다. 일 실시예에 따르면, 전자 장치는 가장 최근에 수집된 타겟 제스처 샘플을 폐기할 수 있다. 예를 들어, 전자 장치는 타겟 제스처 샘플을 폐기하는 경우, 업데이트에 미사용된 타겟 제스처 샘플의 개수를 1만큼 차감하여 화면에 표시할 수 있다.
동작(2123)에서 전자 장치는 분류기를 리셋(reset)할 수 있다. 예를 들어, 전자 장치는 사용자에 의해 분류기를 리셋하도록 설정된 객체(예: 'Reset classifier' 버튼)가 활성화되는 경우에 응답하여, 분류기를 리셋할 수 있다. 전자 장치는 분류기를 업데이트 이전으로 초기화할 수 있다. 다시 말해, 전자 장치는 분류기의 전체 리프들의 보상값을 초기화할 수 있다. 예를 들어, 전자 장치는 저장된 타겟 제스처 샘플은 유지한 채로, 분류기만을 업데이트 이전으로 초기화할 수 있다.
도 22는 일 실시예에 따른 전자 장치가 화면에 분류기의 성능 평가 결과를 표시하는 것을 나타내는 도면이다.
일 실시예에 따른 전자 장치는 사용자의 동작을 인식하여 데이터 샘플을 획득할 수 있다. 전자 장치는 획득된 데이터 샘플의 타겟 제스처 확률(2211)을 화면에 표시할 수 있다. 전자 장치는 획득된 데이터 샘플을 현재의 분류기에 입력하여 타겟 제스처 확률을 산출할 수 있다. 전자 장치는 획득된 데이터 샘플의 타겟 제스처 확률이 임계 확률(예를 들어, 20%) 미만인 경우 타겟 제스처 확률이 낮음을 나타내는 메시지(예를 들어, 'Low Probability')(2212)를 표시할 수 있다. 전자 장치는 메시지(2212)를 표시함으로써 사용자가 보다 정확한 타겟 제스처 동작을 수행하도록 유도할 수 있다.
일 실시에에 따른 전자 장치는 획득된 데이터 샘플의 타겟 제스처 확률이 임계 확률 이상인 경우, 획득된 데이터 샘플에 기초하여 타겟 제스처 샘플을 수집할 수 있다. 전자 장치는 타겟 제스처 샘플을 수집한 경우 타겟 제스처 샘플의 수집을 나타내는 메시지(2224)(예를 들어, 'Catch done')를 표시할 수 있다. 전자 장치는 타겟 제스처 샘플을 현재의 분류기에 입력하는 경우에 산출되는 타겟 제스처 샘플의 타겟 제스처 확률(2221)을 화면에 표시할 수 있다. 또한, 전자 장치는 저장된 적어도 하나의 타겟 제스처 샘플을 사용하여 업데이트된 분류기에 타겟 제스처 샘플을 입력하여 산출되는 타겟 제스처 샘플의 타겟 제스처 확률(2222)을 화면에 함께 표시할 수 있다. 전자 장치는 현재 전자 장치에 저장되어 있는 분류기의 업데이트에 미사용된 타겟 제스처 샘플의 개수 및 분류기의 업데이트에 현재까지 사용된 타겟 제스처 샘플의 개수(2223)를 표시할 수 있다. 전자 장치는 분류기의 업데이트를 위한 객체(2230)를 표시할 수 있다. 사용자 조작을 통해 객체(2230)가 활성화되는 경우, 전자 장치는 전자 장치에 저장되어 있는 분류기의 업데이트에 미사용된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기를 업데이트할 수 있다.
전자 장치는 저장된 적어도 하나의 타겟 제스처 샘플을 사용하여 업데이트된 분류기에 타겟 제스처 샘플을 입력하여 산출되는 타겟 제스처 샘플의 타겟 제스처 확률(2241)이 미리 정한 확률(예를 들어, 90%) 이상인 경우, 수집된 타겟 제스처 샘플이 충분함을 나타내는 메시지(2242)(예를 들어, 'Enough')를 화면에 표시할 수 있다. 전자 장치는 메시지(2242)를 표시함으로써 사용자로 하여금 타겟 제스처 동작의 수행을 멈출 시점을 통지할 수 있고, 사용자는 메시지(2242)를 확인하여 타겟 제스처 동작의 수행을 멈출 수 있다.
일 실시예에 따른 전자 장치는, 컴퓨터로 실행 가능한 명령어들(computer-executable instructions)이 저장된 메모리, 메모리에 액세스(access)하여 명령어들을 실행하는 프로세서를 포함하고, 프로세서는, 결정트리 네트워크(decision tree network) 기반 분류기에 하나의 타겟 제스처 샘플을 입력하고, 하나의 타겟 제스처 샘플에 대응하여 트리 별로 선택되는 제1 리프들을 식별하고, 식별된 제1 리프들 각각의 보상값을 업데이트 단위 값 만큼 증가시켜 분류기의 상향 업데이트를 수행할 수 있다.
프로세서는, 분류기에 하나의 오경보 데이터 샘플을 입력하고, 하나의 오경보 데이터 샘플에 대응하여 트리 별로 선택되는 제2 리프들을 식별하며, 식별된 제2 리프들 각각의 보상값을 업데이트 단위 값 만큼 감소시켜 분류기의 하향 업데이트를 수행할 수 있다.
프로세서는, 분류기의 트레이닝에 이용된 트레이닝 데이터 셋이 포함하는 데이터 샘플들 중 타겟 제스처를 나타내지 않는 데이터 샘플들을 추출하고, 추출된 데이터 샘플들 중으로부터 분류기에 입력되는 경우에 타겟 제스처로 분류되는 데이터 샘플들을 오경보 데이터 샘플로 사용할 수 있다.
프로세서는, 상기 분류기의 상향 업데이트와 상기 분류기의 하향 업데이트를 한번 씩 번갈아 수행하여 상기 분류기를 업데이트할 수 있다.
프로세서는, 분류기의 상향 업데이트를 수행하는 경우, 업데이트 단위 값을 분류기의 타겟 제스처 인식률에 반비례하도록 조정할 수 있다.
프로세서는, 분류기의 상향 업데이트 및 분류기의 하향 업데이트를 한 번씩 수행하는 경우, 분류기의 전체 리프들 각각의 보상값을 보상 조정 값 만큼 감소시킬 수 있다.
프로세서는, 상기 분류기의 상향 업데이트 및 상기 분류기의 하향 업데이트를 한 번씩 수행한 이후에 보상 조정 값을 분류기의 타겟 제스처 인식률에 비례하도록 조정할 수 있다.
프로세서는, 분류기의 상향 업데이트 및 분류기의 하향 업데이트를 한 번씩 수행하는 경우, 전체 오경보 데이터 샘플들 각각에 대응하는 리프들을 식별하고, 식별된 리프들 각각에 대하여 해당 리프가 전체 오경보 데이터 샘플들에 대응하여 선택된 횟수를 지시하는 통계값을 산출하며, 해당 리프에 대해 산출된 통계값에 비례하는 값으로 해당 리프의 보상값을 추가로 감소시킬 수 있다.
프로세서는, 사용자의 타겟 제스처 동작을 인식하여 생성된 센서의 신호를 크롭(crop)하여 타겟 제스처 확률이 임계 확률 이상인 적어도 하나의 타겟 제스처 샘플을 수집하고, 수집된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기의 업데이트를 수행할 수 있다.
프로세서는, 전자 장치가 수동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 제1 타이머를 제1 시간 동안 진행시켜 제1 타이머의 진행 기간 동안에 획득되는 데이터 샘플들 중 타겟 제스처 확률이 임계 확률 이상인 데이터 샘플들을 추출하며, 추출된 데이터 샘플들 중 타겟 제스처 확률이 가장 높은 데이터 샘플을 타겟 제스처 샘플로 수집할 수 있다.
프로세서는, 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 센서의 신호를 크롭하여 임계 확률 이상의 타겟 제스처 확률을 갖는 후보 데이터 샘플을 추출하고, 제2 타이머를 추출된 후보 데이터 샘플의 시작 시점으로부터 제2 시간 동안 진행시켜 제2 타이머의 진행 기간 동안에 획득되는 데이터 샘플들 중 타겟 제스처 확률이 가장 높은 데이터 샘플을 타겟 제스처 샘플로 수집할 수 있다.
프로세서는, 분류기의 업데이트를 수행하는 시점에 임계 확률을 분류기의 업데이트에 사용된 타겟 제스처 샘플의 개수에 비례하여 조정할 수 있다.
일 실시예에 따른 전자 장치에 의해 수행되는 방법은, 결정트리 네트워크(decision tree network) 기반 분류기에 하나의 타겟 제스처 샘플을 입력하는 동작, 하나의 타겟 제스처 샘플에 대응하여 트리 별로 선택되는 제1 리프들을 식별하는 동작, 및 식별된 제1 리프들 각각의 보상값을 업데이트 단위 값 만큼 증가시켜 분류기의 상향 업데이트를 수행하는 동작을 포함할 수 있다.
일 실시예에 따른 전자 장치에 의해 수행되는 방법은, 분류기에 하나의 오경보 데이터 샘플을 입력하는 동작, 하나의 오경보 데이터 샘플에 대응하여 트리 별로 선택되는 제2 리프들을 식별하는 동작, 및 식별된 제2 리프들 각각의 보상값을 업데이트 단위 값 만큼 감소시켜 분류기의 하향 업데이트를 수행하는 동작을 포함할 수 있다.
일 실시예에 따른 전자 장치에 의해 수행되는 방법은, 분류기의 트레이닝에 이용된 트레이닝 데이터 셋이 포함하는 데이터 샘플들 중 타겟 제스처를 나타내지 않는 데이터 샘플들을 추출하는 동작, 및 추출된 데이터 샘플들 중으로부터 분류기에 입력되는 경우에 타겟 제스처로 분류되는 데이터 샘플들을 오경보 데이터 샘플로 사용하는 동작을 포함할 수 있다.
일 실시예에 따른 전자 장치에 의해 수행되는 방법은, 상기 분류기의 상향 업데이트와 상기 분류기의 하향 업데이트를 한번 씩 번갈아 수행하여 상기 분류기를 업데이트하는 동작을 포함할 수 있다.
일 실시예에 따른 전자 장치에 의해 수행되는 방법은, 분류기의 상향 업데이트를 수행하는 경우, 업데이트 단위 값을 분류기의 타겟 제스처 인식률에 반비례하도록 조정하는 동작을 더 포함할 수 있다.
일 실시예에 따른 전자 장치에 의해 수행되는 방법은, 분류기의 상향 업데이트 및 분류기의 하향 업데이트를 한 번씩 수행하는 경우, 분류기의 전체 리프들 각각의 보상값을 보상 조정 값 만큼 감소시키는 동작을 포함할 수 있다.
일 실시예에 따른 전자 장치에 의해 수행되는 방법은, 사용자의 타겟 제스처 동작을 인식하여 생성된 센서의 신호를 크롭(crop)하여 타겟 제스처 확률이 임계 확률 이상인 적어도 하나의 타겟 제스처 샘플을 수집하는 동작, 및 수집된 적어도 하나의 타겟 제스처 샘플을 사용하여 분류기의 업데이트를 수행하는 동작을 포함할 수 있다.
적어도 하나의 타겟 제스처 샘플을 수집하는 동작은, 전자 장치가 수동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 제1 타이머를 제1 시간 동안 진행시켜 제1 타이머의 진행 기간 동안에 획득되는 데이터 샘플들 중 타겟 제스처 확률이 임계 확률 이상인 데이터 샘플들을 추출하며, 추출된 데이터 샘플들 중 타겟 제스처 확률이 가장 높은 데이터 샘플을 타겟 제스처 샘플로 수집하는 동작을 포함할 수 있다.
적어도 하나의 타겟 제스처 샘플을 수집하는 동작은, 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 센서의 신호를 크롭하여 임계 확률 이상의 타겟 제스처 확률을 갖는 후보 데이터 샘플을 추출하고, 제2 타이머를 추출된 후보 데이터 샘플의 시작 시점으로부터 제2 시간 동안 진행시켜 제2 타이머의 진행 기간 동안에 획득되는 데이터 샘플들 중 타겟 제스처 확률이 가장 높은 데이터 샘플을 타겟 제스처 샘플로 수집하는 동작을 포함할 수 있다.

Claims (21)

  1. 전자 장치에 있어서,
    컴퓨터로 실행 가능한 명령어들(computer-executable instructions)이 저장된 메모리;
    상기 메모리에 액세스(access)하여 상기 명령어들을 실행하는 프로세서
    를 포함하고,
    상기 프로세서는,
    결정트리 네트워크(decision tree network) 기반 분류기에 하나의 타겟 제스처 샘플을 입력하고, 상기 하나의 타겟 제스처 샘플에 대응하여 트리 별로 선택되는 제1 리프들을 식별하고, 상기 식별된 제1 리프들 각각의 보상값을 업데이트 단위 값 만큼 증가시켜 상기 분류기의 상향 업데이트를 수행하는,
    전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 분류기에 하나의 오경보 데이터 샘플을 입력하고, 상기 하나의 오경보 데이터 샘플에 대응하여 트리 별로 선택되는 제2 리프들을 식별하며, 상기 식별된 제2 리프들 각각의 보상값을 상기 업데이트 단위 값 만큼 감소시켜 상기 분류기의 하향 업데이트를 수행하는,
    전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 분류기의 트레이닝에 이용된 트레이닝 데이터 셋이 포함하는 데이터 샘플들 중 타겟 제스처를 나타내지 않는 데이터 샘플들을 추출하고, 상기 추출된 데이터 샘플들 중으로부터 상기 분류기에 입력되는 경우에 타겟 제스처로 분류되는 데이터 샘플들을 오경보 데이터 샘플로 사용하는,
    전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 분류기의 상향 업데이트와 상기 분류기의 하향 업데이트를 한번 씩 번갈아 수행하여 상기 분류기를 업데이트하는,
    전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 분류기의 상향 업데이트를 수행하는 경우, 상기 업데이트 단위 값을 상기 분류기의 타겟 제스처 인식률에 반비례하도록 조정하는,
    전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 분류기의 상향 업데이트 및 상기 분류기의 하향 업데이트를 한 번씩 수행하는 경우, 상기 분류기의 전체 리프들 각각의 보상값을 보상 조정 값 만큼 감소시키는,
    전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 분류기의 상향 업데이트 및 상기 분류기의 하향 업데이트를 한 번씩 수행한 이후에 상기 보상 조정 값을 상기 분류기의 타겟 제스처 인식률에 비례하도록 조정하는,
    전자 장치.
  8. 제6항에 있어서,
    상기 프로세서는,
    상기 분류기의 하향 업데이트를 수행하는 경우, 전체 오경보 데이터 샘플들 각각에 대응하는 리프들을 식별하고, 상기 식별된 리프들 각각에 대하여 해당 리프가 상기 전체 오경보 데이터 샘플들에 대응하여 선택된 횟수를 지시하는 통계값을 산출하며, 상기 해당 리프에 대해 산출된 통계값에 비례하는 값으로 상기 해당 리프의 보상값을 추가로 감소시키는,
    전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    사용자의 타겟 제스처 동작을 인식하여 생성된 센서의 신호를 크롭(crop)하여 타겟 제스처 확률이 임계 확률 이상인 적어도 하나의 타겟 제스처 샘플을 수집하고, 상기 수집된 적어도 하나의 타겟 제스처 샘플을 사용하여 상기 분류기의 업데이트를 수행하는,
    전자 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 전자 장치가 수동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 제1 타이머를 제1 시간 동안 진행시켜 상기 제1 타이머의 진행 기간 동안에 획득되는 데이터 샘플들 중 타겟 제스처 확률이 임계 확률 이상인 데이터 샘플들을 추출하며, 상기 추출된 데이터 샘플들 중 타겟 제스처 확률이 가장 높은 데이터 샘플을 타겟 제스처 샘플로 수집하는,
    전자 장치.
  11. 제9항에 있어서,
    상기 프로세서는,
    상기 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 센서의 신호를 크롭하여 상기 임계 확률 이상의 타겟 제스처 확률을 갖는 후보 데이터 샘플을 추출하고, 제2 타이머를 상기 추출된 후보 데이터 샘플의 시작 시점으로부터 제2 시간 동안 진행시켜 상기 제2 타이머의 진행 기간 동안에 획득되는 데이터 샘플들 중 타겟 제스처 확률이 가장 높은 데이터 샘플을 타겟 제스처 샘플로 수집하는,
    전자 장치.
  12. 제9항에 있어서,
    상기 프로세서는,
    상기 분류기의 업데이트를 수행하는 시점에 상기 임계 확률을 상기 분류기의 업데이트에 사용된 타겟 제스처 샘플의 개수에 비례하여 조정하는,
    전자 장치.
  13. 전자 장치에 의해 수행되는 방법에 있어서,
    결정트리 네트워크(decision tree network) 기반 분류기에 하나의 타겟 제스처 샘플을 입력하는 동작;
    상기 하나의 타겟 제스처 샘플에 대응하여 트리 별로 선택되는 제1 리프들을 식별하는 동작; 및
    상기 식별된 제1 리프들 각각의 보상값을 업데이트 단위 값 만큼 증가시켜 상기 분류기의 상향 업데이트를 수행하는 동작
    을 포함하는 방법.
  14. 제13항에 있어서,
    상기 분류기에 하나의 오경보 데이터 샘플을 입력하는 동작;
    상기 하나의 오경보 데이터 샘플에 대응하여 트리 별로 선택되는 제2 리프들을 식별하는 동작; 및
    상기 식별된 제2 리프들 각각의 보상값을 상기 업데이트 단위 값 만큼 감소시켜 상기 분류기의 하향 업데이트를 수행하는 동작
    을 더 포함하는 방법.
  15. 제14항에 있어서,
    상기 분류기의 트레이닝에 이용된 트레이닝 데이터 셋이 포함하는 데이터 샘플들 중 타겟 제스처를 나타내지 않는 데이터 샘플들을 추출하는 동작; 및
    상기 추출된 데이터 샘플들 중으로부터 상기 분류기에 입력되는 경우에 타겟 제스처로 분류되는 데이터 샘플들을 오경보 데이터 샘플로 사용하는 동작
    을 더 포함하는 방법.
  16. 제13항에 있어서,
    상기 분류기의 상향 업데이트와 상기 분류기의 하향 업데이트를 한번 씩 번갈아 수행하여 상기 분류기를 업데이트하는 동작
    을 더 포함하는 방법.
  17. 제13항에 있어서,
    상기 분류기의 상향 업데이트를 수행하는 경우, 상기 업데이트 단위 값을 상기 분류기의 타겟 제스처 인식률에 반비례하도록 조정하는 동작
    을 더 포함하는 방법.
  18. 제13항에 있어서,
    상기 분류기의 상향 업데이트 및 상기 분류기의 하향 업데이트를 한 번씩 수행하는 경우, 상기 분류기의 전체 리프들 각각의 보상값을 보상 조정 값 만큼 감소시키는 동작
    을 더 포함하는 방법.
  19. 제13항에 있어서,
    사용자의 타겟 제스처 동작을 인식하여 생성된 센서의 신호를 크롭(crop)하여 타겟 제스처 확률이 임계 확률 이상인 적어도 하나의 타겟 제스처 샘플을 수집하는 동작; 및
    상기 수집된 적어도 하나의 타겟 제스처 샘플을 사용하여 상기 분류기의 업데이트를 수행하는 동작
    을 포함하는 방법.
  20. 제19항에 있어서,
    상기 적어도 하나의 타겟 제스처 샘플을 수집하는 동작은,
    상기 전자 장치가 수동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 제1 타이머를 제1 시간 동안 진행시켜 상기 제1 타이머의 진행 기간 동안에 획득되는 데이터 샘플들 중 타겟 제스처 확률이 임계 확률 이상인 데이터 샘플들을 추출하며, 상기 추출된 데이터 샘플들 중 타겟 제스처 확률이 가장 높은 데이터 샘플을 타겟 제스처 샘플로 수집하는 동작
    을 포함하는 방법.
  21. 제19항에 있어서,
    상기 적어도 하나의 타겟 제스처 샘플을 수집하는 동작은,
    상기 전자 장치가 능동적 방법으로 타겟 제스처 샘플을 수집하는 경우, 센서의 신호를 크롭하여 상기 임계 확률 이상의 타겟 제스처 확률을 갖는 후보 데이터 샘플을 추출하고, 제2 타이머를 상기 추출된 후보 데이터 샘플의 시작 시점으로부터 제2 시간 동안 진행시켜 상기 제2 타이머의 진행 기간 동안에 획득되는 데이터 샘플들 중 타겟 제스처 확률이 가장 높은 데이터 샘플을 타겟 제스처 샘플로 수집하는 동작
    을 포함하는 방법.
KR1020210188584A 2021-11-25 2021-12-27 전자 장치 내에서 제스처 인식 성능 개선을 위한 러닝 방법 KR20230077575A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/014556 WO2023096134A1 (ko) 2021-11-25 2022-09-28 전자 장치 내에서 제스처 인식 성능 개선을 위한 러닝 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210164379 2021-11-25
KR20210164379 2021-11-25

Publications (1)

Publication Number Publication Date
KR20230077575A true KR20230077575A (ko) 2023-06-01

Family

ID=86770662

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210188584A KR20230077575A (ko) 2021-11-25 2021-12-27 전자 장치 내에서 제스처 인식 성능 개선을 위한 러닝 방법

Country Status (1)

Country Link
KR (1) KR20230077575A (ko)

Similar Documents

Publication Publication Date Title
US11899845B2 (en) Electronic device for recognizing gesture and method for operating the same
US11455833B2 (en) Electronic device for tracking user activity and method of operating the same
CN111191018B (zh) 对话系统的应答方法和装置、电子设备、智能设备
US20230232075A1 (en) Electronic device for providing content recommendation service, and method therefor
KR20230077575A (ko) 전자 장치 내에서 제스처 인식 성능 개선을 위한 러닝 방법
US20220039754A1 (en) Electronic device for recommending contents
CN117099166A (zh) 用于使用医疗数据提供锻炼程序的电子装置及其方法
US20230335257A1 (en) Electronic apparatus for providing coaching and operating method thereof
WO2023096134A1 (ko) 전자 장치 내에서 제스처 인식 성능 개선을 위한 러닝 방법
US20230414171A1 (en) Device for providing information for improving sleep quality and method thereof
KR20240048453A (ko) 운동 데이터의 처리 방법 및 이를 수행하는 전자 장치
EP4354429A1 (en) Method and device for processing speech by distinguishing speakers
US20230149775A1 (en) Wearable device, method, and non-transitory computer readable storage medium including body temperature sensor
EP4372521A1 (en) Wearable electronic device and method by which wearable electronic device provides brushing teeth information
EP4332874A1 (en) Electronic device for generating sport, and operating method of electronic device
US20230118067A1 (en) Electronic device and method to measure bioelectrical impedance
KR20230091736A (ko) 지능형 영상 분석 방법을 제공하기 위한 장치 및 방법
KR20220079172A (ko) 손 씻는 행동을 검출하는 방법 및 그 전자 장치
CN116415112A (zh) 一种默念口令配置方法及装置、可穿戴设备
KR20220017340A (ko) 제스처를 인식하는 전자 장치 및 그 동작 방법
KR20220045489A (ko) 보행에 관한 정보를 확인하는 전자 장치 및 보행에 관한 정보를 확인하는 전자 장치의 동작 방법
KR20240047891A (ko) 운동 데이터의 처리 방법 및 이를 수행하는 전자 장치
KR20240049065A (ko) 낙상 감지를 수행하기 위한 전자 장치 및 방법
KR20220122022A (ko) 검색 서비스를 제공하기 위한 전자 장치 및 그 작동 방법
KR20240062848A (ko) 운동 루틴을 생성하기 위한 시스템 및 방법