KR20220062338A - 스테레오 카메라들로부터의 손 포즈 추정 - Google Patents

스테레오 카메라들로부터의 손 포즈 추정 Download PDF

Info

Publication number
KR20220062338A
KR20220062338A KR1020227011494A KR20227011494A KR20220062338A KR 20220062338 A KR20220062338 A KR 20220062338A KR 1020227011494 A KR1020227011494 A KR 1020227011494A KR 20227011494 A KR20227011494 A KR 20227011494A KR 20220062338 A KR20220062338 A KR 20220062338A
Authority
KR
South Korea
Prior art keywords
hand
joint
position coordinates
joint position
coordinates
Prior art date
Application number
KR1020227011494A
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 스냅 인코포레이티드
Publication of KR20220062338A publication Critical patent/KR20220062338A/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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • 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
    • G06K9/6256
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • 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/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/11Hand-related biometrics; Hand pose recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • 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/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 명세서의 시스템 및 방법은 신경망을 이용하여 관절 위치 좌표들의 제1 세트와 관절 위치 좌표들의 제2 세트를 식별하고 제1 및 제2 세트들의 관절 위치 좌표들 양쪽 모두에 기초하여 3차원 손 포즈를 식별하는 것을 설명한다.

Description

스테레오 카메라들로부터의 손 포즈 추정
우선권 주장
본 출원은 2019년 9월 9일자로 출원된 미국 가출원 제62/897,669호에 대한 우선권의 이익을 주장하며, 이 가출원은 그 전체가 본 명세서에 참고로 포함된다.
기술 분야
본 개시내용의 실시예들은 일반적으로 3차원 손 포즈 추정(three-dimensional hand pose estimation)에 관한 것이다. 제한으로서는 아니지만, 보다 상세하게는, 본 개시 내용은 스테레오 카메라들을 사용한 전체 3차원 손 포즈 추정을 위한 시스템들 및 방법들을 다룬다.
3차원 손 포즈 추적은, 예를 들어, 인간 컴퓨터 상호작용, 비디오 게임, 수화(sign language) 인식, 및 증강 현실에서 많은 응용을 가진다.
임의의 특정 요소 또는 동작의 논의를 쉽게 식별하기 위해, 참조 번호의 최상위 숫자 또는 숫자들은 그 요소가 처음 도입되는 도면 번호를 지칭한다.
도 1은 일부 예시적인 실시예들에 따른, 본 개시내용이 배치될 수 있는 네트워크 환경의 도식적 표현이다.
도 2는 일부 예시적인 실시예들에 따른 손 포즈 추정 시스템의 블록도이다.
도 3은 일부 예시적인 실시예들에 따른 머신 학습 시스템을 도시한다.
도 4는 일부 예시적인 실시예들에 따른 손 포즈를 자동으로 식별하기 위한 방법의 흐름도이다.
도 5는 일부 예시적인 실시예들에 따른 손 포즈를 자동으로 식별하기 위한 방법의 흐름도이다.
도 6은 일부 예시적인 실시예들에 따른 3차원 손 포즈의 스테레오 이미지 쌍의 예시이다.
도 7은 일부 예시적인 실시예들에 따른, 본 개시내용이 구현될 수 있는 소프트웨어 아키텍처를 도시하는 블록도이다.
도 8은 일부 예시적인 실시예들에 따른, 머신으로 하여금 논의된 방법론들 중 임의의 하나 이상을 수행하게 하는 명령어들의 세트가 실행될 수 있는 컴퓨터 시스템의 형태의 머신의 개략도이다.
이하의 설명은 본 개시내용의 실시예들을 예시하는 시스템들, 방법들, 기법들, 명령어 시퀀스들, 및 컴퓨팅 머신 프로그램 제품들을 포함한다. 다음의 설명에서는, 설명의 목적들을 위하여, 수많은 특정 세부사항들이 발명 주제의 다양한 실시예들의 이해를 제공하기 위하여 기재되어 있다. 그러나, 본 기술분야의 통상의 기술자들에게는 본 발명의 주제의 실시예들이 이러한 특정 세부사항들 없이도 실시될 수 있다는 것이 명백할 것이다. 일반적으로, 널리 공지된 명령어 인스턴스들, 프로토콜들, 구조들, 및 기법들이 꼭 상세히 나타내어져 있지는 않다.
이하의 단락은 스테레오 카메라들로부터 전체 3차원(본 명세서에서 "3D"라고 함) 손 포즈들을 추정하는 종단간 방식을 기술한다. 3D 손 포즈는 손 안의 관절 위치들에 기초하여 정의될 수 있다. 본 명세서에서 언급되는 관절 위치들은 움직임을 허용하는 2개 이상의 뼈 사이의 포인트 또는 관절(예를 들어, 연결)을 기술할 수 있다. 제안된 신경망 아키텍처는 스테레오 이미지 쌍들 및 실측 정보(ground truth) 3차원 손 포즈 주석들로 구성된 대규모 합성 데이터세트를 활용한다. 본 개시내용의 일 양태는 스테레오 카메라들로부터 3차원 손 포즈들을 추정하기 위한 시스템을 설명한다. 아래의 시스템의 설명은 스테레오 카메라들을 참조하지만, 시스템은 하나 이상의 카메라를 사용하도록 구성될 수 있다.
시스템은 스테레오 카메라로부터 손 포즈의 한 쌍의 이미지를 수신한다. 일부 예들에서, 시스템은 이미지들의 시퀀스(예를 들어, 다수의 이미지 프레임을 갖는 비디오)를 수신할 수 있다. 시스템은 손을 포함하는 각각의 이미지의 부분을 크롭한다. 예를 들어, 시스템은, 크롭된 이미지가 손을 나타내는 픽셀들로 주로 이루어져 있도록, 손을 포함하지 않는 이미지의 부분들을 제거한다. 시스템은 단일 이미지에서 다수의 손 포즈를 분석할 수 있다. 예를 들어, 시스템은 이미지 내의 각각의 손을 크롭할 수 있다. 따라서, 단일 이미지가 다수의 이미지로 크롭될 수 있으며, 각각의 크롭된 이미지는 손 포즈를 포함한다.
시스템은 손 안의 관절 위치들을 식별하기 위해 트레이닝된 신경망을 이용하여 크롭된 이미지를 분석한다. 일부 예들에서, 시스템은 신경망이 손 픽셀들이 거의 또는 전혀 없는 무관한 이미지 데이터를 제공받지 않음을 보장하기 위해 크롭 동작을 수행한다.
일부 예들에서, 시스템은 또한 관절 위치들에 기초하여 3차원 손 위치를 식별한다. 예를 들어, 시스템은 3D 손 포즈를 식별하기 위해 관절 위치들을 관절 위치들의 미리 정의된 데이터세트와 비교할 수 있다. 도 1은 3차원 손 포즈 추정을 자동으로 수행하도록 구성된, 일부 예시적인 실시예들에 따른 예시적인 시스템(100)을 도시하는 블록도이다. 시스템(100)은 클라이언트 디바이스(102)와 같은 하나 이상의 클라이언트 디바이스들을 포함한다. 클라이언트 디바이스(102)는 모바일 폰, 데스크톱 컴퓨터, 랩톱, PDA(portable digital assistants), 스마트 폰, 태블릿, 울트라북, 넷북, 랩톱, 멀티-프로세서 시스템, 마이크로프로세서-기반 또는 프로그램가능 소비자 전자 디바이스, 게임 콘솔, 셋톱 박스, 차량 내의 컴퓨터, 또는 사용자가 시스템(100)에 액세스하기 위해 이용할 수 있는 임의의 다른 통신 디바이스를 포함하지만, 이에 제한되지 않는다. 일부 실시예들에서, 클라이언트 디바이스(102)는 (예를 들어, 사용자 인터페이스들의 형태로) 정보를 디스플레이하는 디스플레이 모듈(도시되지 않음)을 포함한다. 추가 실시예들에서, 클라이언트 디바이스(102)는 터치 스크린들, 가속도계들, 자이로스코프들, 카메라들, 마이크로폰들, 글로벌 포지셔닝 시스템(GPS) 디바이스들, 웨어러블 디바이스들 등 중 하나 이상을 포함한다. 클라이언트 디바이스(102)는 스테레오 이미지들의 쌍을 캡처하기 위해 사용되는 사용자의 디바이스일 수 있다. 예를 들어, 클라이언트 디바이스(102)는 캡처된 스테레오 이미지들의 쌍을 사용하여 3차원 손 포즈를 식별하기 위해 사용될 수 있다.
예를 들어, 클라이언트 디바이스(102)는 클라이언트 디바이스(102)에 결합된 스테레오 카메라를 사용하여 이미지들의 쌍을 캡처하기를 원하는 주어진 사용자의 디바이스이다. 사용자는 3차원 손 포즈의 스테레오 카메라를 사용하여 이미지들의 쌍을 캡처한다. 서버 시스템(114)은 이미지를 수신하고 3차원 손 포즈를 식별한다.
일부 예들에서 식별된 3차원 손 포즈는 클라이언트 디바이스(102)가 미리 정의된 액션을 수행하게 한다. 예를 들어, 3D 손 포즈를 식별하면, 클라이언트 디바이스(102)는, 이미지를 캡처하거나, 캡처된 이미지를 수정하거나(예를 들어, 캡처된 이미지에 주석을 달거나), 실시간으로 또는 거의 실시간으로 이미지에 주석을 달거나, 하나 이상의 애플리케이션(예를 들어, 제3자 애플리케이션(들)(108), 클라이언트 애플리케이션(110))을 통해 메시지를 전송하거나, 하나 이상의 애플리케이션(예를 들어, 제3자 애플리케이션(들)(108), 클라이언트 애플리케이션(110)) 내의 메뉴를 내비게이트할 것을 촉구받을 수 있다. 식별된 3D 손 포즈는 클라이언트 디바이스(102)를 사용하여 증강 현실(AR) 경험들과 상호작용하기 위해 임의적으로(optionally) 사용될 수 있다. 위에 열거된 예들은 예들의 제한 목록인 것으로 의도되지 않는다는 점이 이해된다.
하나 이상의 사용자는 사람, 머신, 또는 클라이언트 디바이스(102)와 상호작용하는 다른 수단일 수 있다. 예시적인 실시예들에서, 사용자는 시스템(100)의 일부가 아닐 수 있지만, 클라이언트 디바이스(102) 또는 다른 수단을 통해 시스템(100)과 상호작용할 수 있다. 예를 들어, 사용자는 클라이언트 디바이스(102)에 입력(예를 들어, 터치 스크린 입력 또는 영숫자 입력)을 제공할 수 있고, 입력은 네트워크(112)를 통해 시스템(100) 내의 다른 엔티티들(예를 들어, 제3자 서버(들)(104), 서버 시스템(114) 등)에 통신될 수 있다. 이 경우, 시스템(100) 내의 다른 엔티티들은, 사용자로부터 입력을 수신하는 것에 응답하여, 사용자에게 제시될 정보를 네트워크(104)를 통해 클라이언트 디바이스(102)에 통신할 수 있다. 이러한 방식으로, 사용자는 클라이언트 디바이스(102)를 사용하여 시스템(100) 내의 다양한 엔티티들과 상호작용한다.
시스템(100)은 네트워크(112)를 더 포함한다. 네트워크(112)의 하나 이상의 부분은 애드혹 네트워크, 인트라넷, 엑스트라넷, 가상 사설망(VPN), 근거리 통신망(LAN), 무선 LAN(WLAN), 광역 네트워크(WAN), 무선 WAN(WWAN), 도시권 통신망(MAN), 인터넷의 일부, 공중 교환 전화망(PSTN)의 일부, 셀룰러 전화 네트워크, 무선 네트워크, WiFi 네트워크, WiMax 네트워크, 또 다른 유형의 네트워크, 또는 2개 이상의 이러한 네트워크들의 조합일 수 있다.
클라이언트 디바이스(102)는 웹 클라이언트(106)(예를 들어, 브라우저) 또는 하나 이상의 클라이언트 애플리케이션(110)을 통해 시스템(100) 내의 다른 엔티티들에 의해 제공되는 다양한 데이터 및 애플리케이션들에 액세스할 수 있다. 클라이언트 디바이스(102)는 웹 브라우저, 메시징 애플리케이션, 전자 메일(이메일) 애플리케이션, 전자 상거래 사이트 애플리케이션, 매핑 또는 위치 애플리케이션 등과 같은, 그러나 이에 제한되지 않는 하나 이상의 클라이언트 애플리케이션(들)(110)("앱들"이라고도 지칭됨)을 포함할 수 있다.
일부 실시예들에서, 하나 이상의 클라이언트 애플리케이션(들)(110)은 클라이언트 디바이스(110) 중 주어진 하나에 포함되고, 사용자 인터페이스 및 기능들 중 적어도 일부를 로컬로 제공하도록 구성되며, 클라이언트 애플리케이션(들)(110)은 로컬로 이용가능하지 않은 데이터 처리 능력들을 위해, 필요에 따라, 시스템(100) 내의 다른 엔티티들(예를 들어, 제3자 서버(들)(104), 서버 시스템(114) 등)과 통신하도록 구성된다. 반대로, 하나 이상의 클라이언트 애플리케이션(들)(110)은 클라이언트 디바이스(102)에 포함되지 않을 수 있고, 그 후 클라이언트 디바이스(102)는 그의 웹 브라우저를 사용하여 시스템(100) 내의 다른 엔티티들(예를 들어, 제3자 서버(들)(104), 서버 시스템(114) 등) 상에서 호스팅되는 하나 이상의 애플리케이션에 액세스할 수 있다.
서버 시스템(114)은 네트워크(112)(예를 들어, 인터넷 또는 광역 네트워크(WAN))를 통해 하나 이상의 제3자 서버(들)(104) 및 하나 이상의 클라이언트 디바이스(102)에 서버측 기능성을 제공한다. 서버 시스템(114)은 하나 이상의 데이터베이스(들)(126)와 통신가능하게 결합될 수 있는 애플리케이션 프로그램 인터페이스(API) 서버(118), 웹 서버(120) 및 손 포즈 추정 시스템(122)을 포함한다. 하나 이상의 데이터베이스(들)(126)는 서버 시스템(114)의 사용자들에 관련된 데이터, 서버 시스템(114)과 연관된 애플리케이션들, 클라우드 서비스들, 사용자 데이터 등을 저장하는 저장 디바이스들일 수 있다. 하나 이상의 데이터베이스(들)(126)는 제3자 서버(들)(104), 제3자 애플리케이션(들)(108), 클라이언트 디바이스(102), 클라이언트 애플리케이션(110), 사용자들 등에 관련된 정보를 더 저장할 수 있다. 일 예에서, 하나 이상의 데이터베이스(들)(126)는 클라우드 기반 스토리지일 수 있다.
서버 시스템(114)은 일부 예시적인 실시예들에 따른 클라우드 컴퓨팅 환경일 수 있다. 서버 시스템(114), 및 서버 시스템(114)과 연관된 임의의 서버들은 하나의 예시적인 실시예에서 클라우드 기반 애플리케이션과 연관될 수 있다.
서버 시스템(114)은 손 포즈 추정 시스템(122)을 포함한다. 손 포즈 추정 시스템(122)은 하나 이상의 서버를 포함할 수 있고 클라우드 기반 애플리케이션과 연관될 수 있다. 손 포즈 추정 시스템(122)은 데이터베이스(들)(126)로부터 스테레오 이미지들을 획득할 수 있다. 일부 예들에서, 손 포즈 추정 시스템(122)은 클라이언트 디바이스(102)를 이용하여 스테레오 이미지들을 캡처할 수 있다. 손 포즈 추정 시스템(122)은 스테레오 이미지들에서 캡처된 3차원 손 포즈들을 분석하고 손 안의 관절 위치들에 기초하여 손 포즈를 식별한다. 손 포즈 추정 시스템(122)의 상세한 사항들은 도 3과 관련하여 아래에 제공된다.
시스템(100)은 하나 이상의 제3자 서버(들)(104)를 더 포함한다. 하나 이상의 제3자 서버(들)(104)는 하나 이상의 제3자 애플리케이션(들)(108)을 포함할 수 있다. 제3자 서버(들)(104) 상에서 실행되는 하나 이상의 제3자 애플리케이션(들)(108)은 API 서버(118)에 의해 제공되는 프로그램적 인터페이스를 통해 API 서버(118)를 통해 서버 시스템(114)과 상호작용할 수 있다. 예를 들어, 하나 이상의 제3자 애플리케이션(들)(108)은 제3자에 의해 호스팅되는 웹사이트 또는 제3자에 의해 호스팅되는 애플리케이션 상의 하나 이상의 특징들 또는 기능들을 지원하기 위해 API 서버(118)를 통해 서버 시스템(114)으로부터의 정보를 요청하고 이용할 수 있다. 예를 들어, 제3자 애플리케이션(들)(108)은 서버 시스템(114) 내의 관련 기능성 및 데이터에 의해 지원되는 소프트웨어 버전 분석 기능성을 제공할 수 있다.
도 2는 일부 예시적인 실시예들에 따른 손 포즈 추정 시스템(122)의 블록도이다. 손 포즈 추정 시스템(122)은 전처리 시스템(202), 머신 학습 시스템(204) 및 후처리 시스템(206)을 포함하는 것으로 도시되어 있고, 이들 모두는 (예를 들어, 버스, 공유 메모리, 또는 스위치를 통해) 서로 통신하도록 구성된다. 이들 시스템들 중 임의의 하나 이상은 하나 이상의 프로세서를 이용하여 구현될 수 있다(예를 들어, 그 시스템에 대해 설명된 기능들을 수행하도록 이러한 하나 이상의 프로세서를 구성함으로써 따라서 하나 이상의 프로세서를 포함할 수 있다).
설명된 시스템들 중 임의의 하나 이상은 하드웨어 단독(예를 들어, 머신의 프로세서들 중 하나 이상) 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수 있다. 예를 들어, 손 포즈 추정 시스템(122)의 설명된 임의의 시스템은 그 시스템에 대해 본 명세서에 설명된 동작들을 수행하도록 구성된 프로세서들 중 하나 이상(예를 들어, 머신의 하나 이상의 프로세서 중의 또는 그들의 서브세트)의 배열을 물리적으로 포함할 수 있다. 다른 예로서, 손 포즈 추정 시스템(122)의 임의의 시스템은 그 시스템에 대해 본 명세서에 설명된 동작들을 수행하도록 하나 이상의 프로세서(예를 들어, 머신의 하나 이상의 프로세서 중의)의 배열을 구성하는 소프트웨어, 하드웨어, 또는 둘 다를 포함할 수 있다. 따라서, 손 포즈 추정 시스템(122)의 상이한 시스템들은 상이한 시점들에서 그러한 프로세서들의 상이한 배열들 또는 그러한 프로세서들의 단일 배열을 포함하고 구성할 수 있다. 또한, 손 포즈 추정 시스템(122)의 임의의 2개 이상의 시스템이 단일 시스템으로 결합될 수 있고, 단일 시스템에 대해 본 명세서에 설명된 기능들은 다수의 시스템 사이에서 세분될 수 있다. 또한, 다양한 예시적인 실시예들에 따르면, 단일 머신, 데이터베이스, 또는 디바이스 내에 구현되는 것으로 본 명세서에 설명된 시스템들은 다수의 머신, 데이터베이스, 또는 디바이스에 걸쳐 분산될 수 있다.
일례에서, 전처리 시스템(202)은 스테레오 카메라로부터 한 쌍의 이미지를 수신한다. 전처리 시스템(202)은 손을 포함하는 이미지들 각각 내의 영역을 식별한다. 전처리 시스템(202)은 손을 포함하는 각각의 이미지 내의 영역을 추가로 크롭한다. 각각의 이미지는 다수의 손을 포함할 수 있다. 전처리 시스템(202)은 손을 포함하는 이미지 내의 각각의 영역을 크롭한다. 일부 예들에서, 전처리 시스템(202)은 추적 시스템을 이용하여 각각의 이미지 내의 손의 위치를 식별한다. 일부 예들에서, 전처리 시스템(202)은 이전 프레임에서의 손의 위치의 추정을 이용하여 연속적인 프레임에 대한 손의 위치의 추정을 생성한다. 예를 들어, 전처리 시스템(202)은 손 포즈 추정 시스템(122)의 사용자에게 그 또는 그녀의 손을 초기화 위치에 배치하도록 촉구할 수 있다. 초기화 위치는 사용자 디바이스의 그래픽 사용자 인터페이스 상에 디스플레이되는 경계진 영역으로서 지정될 수 있다. 전처리 시스템(202)은 사용자가 그 또는 그녀의 손을 경계진 영역 내에 두도록 요청할 수 있다. 전처리 시스템(202)은 초기화 위치에서의 손의 위치를 이용하여 연속적인 이미지 프레임들에서의 손의 위치를 추정할 수 있다.
일부 예들에서, 머신 학습 시스템(204)은 손 안의 관절 위치들을 이용하여 3차원 손 포즈를 식별하도록 구성된다. 일부 예들에서, 머신 학습 시스템(204)은 전처리 시스템(202)에 의해 생성된 크롭된 이미지에 대한 관절 위치 좌표들을 계산한다. 예를 들어, 전처리 시스템(202)은 크롭된 이미지를 머신 학습 시스템(204)에 제공하여, 머신 학습 시스템(204)이 손 픽셀들이 거의 또는 전혀 없는 무관한 이미지 데이터를 제공받지 않음을 보장한다. 일부 예들에서, 머신 학습 시스템(204)은 신경망을 트레이닝하기 위해 사용되는 합성 데이터세트를 생성한다. 트레이닝된 신경망은 클라이언트 디바이스 상에 배치되어 실시간 3차원 손 포즈 추정을 수행한다. 머신 학습 시스템(204)에 관한 더 상세한 사항들은 도 3과 관련하여 아래에 설명된다.
한 예에서, 후처리 시스템(206)은 머신 학습 시스템(204)에 의해 계산된 손의 관절 위치 좌표들을 검색한다. 후처리 시스템(206)은 머신 학습 시스템(204)에 의해 계산된 관절 위치 좌표들을 변환하여 3차원 세계 공간에서 관절 위치 좌표들을 추정한다. 일부 예들에서, 후처리 시스템(206)은 크롭된 이미지에 대한 관절 위치 좌표들의 제1 세트를 이미지의 크롭되지 않은 버전(예를 들어, 수신된 스테레오 이미지)에 대한 관절 위치 좌표들의 제3 세트로 변환함으로써 이전에 계산된 관절 위치 좌표들을 비정규화한다. 후처리 시스템(206)은 또한 세계 공간에서의 관절 위치 좌표들을 추정하기 위해 제3 세트의 관절 위치 좌표들을 변환한다. 따라서, 후처리 시스템(206)은 크롭된 이미지에 대한 손의 관절 위치 좌표들을 검색하고, 관절 위치 좌표들을 3차원 세계 공간으로 변환한다. 일부 예들에서, 세계 공간에서의 관절 위치 좌표들은 밀리미터로 표현된다. 일부 예들에서, 크롭된 이미지 및 크롭되지 않은 이미지들에 대한 관절 위치 좌표들은 픽셀 위치들(예를 들어, 이미지 공간)에 의해 표현된다.
도 3은 일부 예시적인 실시예들에 따른 머신 학습 시스템(204)을 도시한다. 머신 학습 시스템(204)은 새로운 3D 손 포즈 데이터 모듈(308), 머신 학습 기술 트레이닝 모듈(304), 트레이닝된 머신 학습 기술 모듈(306), 새로운 3D 손 포즈 데이터 모듈(308), 및 3D 손 포즈 예측 모듈(310)을 포함한다.
일부 구현들에서, 머신 학습 시스템(204)의 일부 모듈들은 서버 시스템(114) 상에 구현될 수 있고, 다른 모듈들은 제3자 서버(들)(104) 상에 구현될 수 있다. 일부 구현들에서, 머신 학습 시스템(204)의 모듈들 모두는 서버 시스템(114) 또는 제3자 제3자 서버(들)(104) 상에서 구현된다. 이러한 경우에, 서버 시스템(114)은 구현된 모듈들에 기초하여 제3자 제3자 서버(들)(104)에 정보를 전달하고 그 반대도 마찬가지이다.
손 포즈 트레이닝 데이터 모듈(302)은 머신 학습 시스템(204)에 의해 생성된다. 일부 예에서, 손 포즈 트레이닝 데이터 모듈(302)은 합성 데이터세트를 포함할 수 있다. 예를 들어, 손 포즈 트레이닝 데이터 모듈(302)은 가상 스테레오 카메라 상에 다양한 손 포즈들을 렌더링할 수 있다. 각각의 손 포즈 이미지는 실측 정보 라벨(예를 들어, 손 안의 관절 위치들)과 연관된다. 손 포즈 트레이닝 데이터 모듈(302)은 렌더링된 손 포즈 이미지들 및 그의 대응하는 실측 정보 라벨 각각을 하나 이상의 데이터베이스(들)(126)에 저장할 수 있다. 손 포즈 트레이닝 데이터 모듈(302)은 상이한 피부색의 손, 손 모양 및 손 제스처의 모음을 사용하여 그의 데이터세트를 다양화할 수 있다.
머신 학습 기술 트레이닝 모듈(304)은 손 포즈 트레이닝 데이터 모듈(302)에 의해 제공된 손 포즈 이미지들과 대응하는 실측 정보 라벨(예를 들어, 손 안의 관절 위치들) 사이의 관계를 확립함으로써 손 안의 관절 위치들을 추정하도록 트레이닝된다.
머신 학습은 컴퓨터들에게 명시적으로 프로그래밍되지 않고 학습하는 능력을 제공하는 연구 분야이다. 머신 학습은, 또한 본 명세서에서 툴들로 지칭되는, 기존의 데이터로부터 학습하고 새로운 데이터에 대한 예측을 행할 수 있는 알고리즘의 연구와 구성을 탐구한다. 그러한 머신 학습 툴들은 출력들 또는 평가들로서 표현되는 데이터 기반 예측들 또는 결정들을 행하기 위해 예시적인 트레이닝 데이터로부터 모델을 구축함으로써 동작한다. 예시적인 실시예들이 몇 개의 머신 학습 툴들과 관련하여 제시되지만, 본 명세서에 제시된 원리들은 다른 머신 학습 툴들에 적용될 수 있다. 일부 예시적인 실시예들에서, 상이한 머신 학습 툴들이 사용될 수 있다. 예를 들어, 로지스틱 회귀(Logistic Regression)(LR), 나이브-베이즈(Naive-Bayes), 랜덤 포레스트(Random Forest)(RF), 신경망들(neural networks)(NN), 행렬 분해(matrix factorization), 및 지원 벡터 머신들(Support Vector Machines)(SVM) 툴들은 주어진 특성에 대한 계류중인 양까지의 날들을 예측하기 위하여 이용될 수도 있다.
머신 학습 알고리즘들은 평가들을 생성하기 위해 데이터를 분석하기 위한 특징들(features)을 이용한다. 특징은 관측되는 현상의 개별 측정가능 특성이다. 특징의 개념은 선형 회귀와 같은 통계적 기법들에서 사용되는 설명적 변수의 개념과 관련된다. 패턴 인식, 분류, 및 회귀에서 MLP의 효과적인 동작을 위해, 정보적 특징, 차별적 특징, 및 독립적인 특징을 선택하는 것이 중요하다. 특징들은 수치 특징들, 스트링들, 및 그래프들과 같은 상이한 유형들일 수 있다.
머신 학습 알고리즘들은 결과 또는 평가에 영향을 미치는 식별된 특징들 사이의 상관들을 찾기 위해 트레이닝 데이터를 이용한다. 일부 예시적인 실시예에서, 트레이닝 데이터는 계류중인 양까지의 날들과 같은 라벨링된 데이터를 포함하는데, 이는 하나 이상의 식별된 특징 및 하나 이상의 결과에 대한 알려진 데이터이다.
일단 트레이닝 데이터가 수집되고 처리되고 나면, 머신 학습 기술 트레이닝 모듈(304)은 머신 학습 기술을 이용하여 구축될 수 있다. 머신 학습 기술들은 모델들에 공급되는 데이터에 대한 예측들(예를 들어, 주어진 발화에서 사용자에 의해 말해진 것; 명사가 사람, 장소, 또는 사물인지; 날씨가 내일 어떨지)을 정확하게 행하도록 모델들을 트레이닝한다. 학습 페이즈 동안, 모델들은 주어진 입력에 대한 출력을 정확하게 예측하도록 모델들을 최적화하기 위해 입력들의 트레이닝 데이터세트에 대해 개발된다. 일반적으로, 학습 페이즈는 감독되거나, 준-감독되거나, 감독되지 않을 수 있고; 이는 "정확한" 출력들이 트레이닝 입력들에 대응하여 제공되는 감소하는 레벨을 나타낸다. 감독된 학습 페이즈에서, 모든 출력이 모델에 제공되고 모델은 입력을 출력에 맵핑하는 일반적인 규칙이나 알고리즘을 개발하도록 지향된다. 대조적으로, 비감독된 학습 페이즈에서, 원하는 출력은 입력들에 제공되지 않아, 모델은 트레이닝 데이터세트 내의 관계들을 발견하기 위해 그 자신의 규칙을 개발할 수 있다. 준-감독된 학습 페이즈에서, 불완전하게 라벨링된 트레이닝 세트가 제공되고, 트레이닝 데이터세트에 대해 출력들 중 일부는 알려지고 일부는 알려지지 않는다.
모델들은 여러 에포크들(epochs)(예를 들어, 반복들)에 대한 트레이닝 데이터세트에 대해 실행될 수 있으며, 여기서 트레이닝 데이터세트는 그것의 결과들을 정제하기 위해 모델에 반복적으로 공급된다. 예를 들어, 감독된 학습 페이즈에서, 모델은 주어진 세트의 입력들에 대한 출력을 예측하기 위해 개발되고, 트레이닝 데이터세트에 대한 최대 개수의 입력들에 대한 주어진 입력에 대응하는 것으로서 특정되는 출력을 더 신뢰성 있게 제공하기 위해 몇몇 에포크들에 걸쳐 평가된다. 다른 예에서, 비감독된 학습 페이즈의 경우, 데이터세트를 n개의 그룹으로 클러스터링하기 위해 모델이 개발되고, 주어진 입력을 주어진 그룹에 얼마나 일관되게 배치하는지 및 각각의 에포크에 걸쳐 n개의 원하는 클러스터를 얼마나 신뢰성있게 생성하는지에 관해 수 개의 에포크에 걸쳐 평가된다.
일단 에포크가 진행되고 나면, 모델들이 평가되고 그들의 변수들의 값들이 조정되어 반복적 방식으로 모델을 더 양호하게 개선하려고 시도한다. 다양한 양태들에서, 평가들은 거짓 음성들에 대해 바이어싱되거나, 거짓 양성들에 대해 바이어싱되거나, 또는 모델의 전체 정확도에 대해 균일하게 바이어싱된다. 값들은 사용되는 머신 학습 기술에 따라 여러 방식으로 조정될 수 있다. 예를 들어, 유전적 또는 진화적 알고리즘에서, 원하는 출력들을 예측하는 데 가장 성공적인 모델들에 대한 값들은, 부가의 데이터 포인트들을 제공하기 위해 랜덤 변동(variation)/변형(mutation)을 포함할 수 있는, 후속 에포크 동안 사용할 모델들에 대한 값들을 개발하는 데 사용된다. 본 기술분야의 통상의 기술자라면, 선형 회귀, 랜덤 포레스트, 결정 트리 학습, 신경망, 심층 신경망 등을 포함한, 본 개시내용에 적용될 수 있는 수 개의 다른 머신 학습 알고리즘에 익숙할 것이다.
각각의 모델은 원하는 결과에 더욱 근접하게 맵핑하기 위해 입력에 영향을 미치는 하나 이상의 변수의 값들을 변동시킴으로써 수 개의 에포크들에 걸쳐 규칙이나 알고리즘을 개발하지만, 트레이닝 데이터세트가 변동될 수 있고, 바람직하게는 매우 크므로, 완벽한 정확도와 정밀도가 달성가능하지 않을 수도 있다. 따라서, 학습 페이즈를 구성하는 에포크의 수는, 주어진 횟수의 시도 또는 고정된 시간/계산 예산으로서 설정되거나, 주어진 모델의 정확도가 충분히 높거나 충분히 낮거나 정확도 안정기에 도달했을 때 그 횟수/예산에 도달하기 전에 종료될 수 있다. 예를 들어, 트레이닝 페이즈가 n개의 에포크들을 진행하고 적어도 95% 정확도를 갖는 모델을 생성하도록 설계되고, 그러한 모델이 n번째 에포크 전에 생성되면, 학습 페이즈는 조기에 종료될 수 있고 최종-목표 정확도 임계값을 만족시키는 생성된 모델을 사용할 수 있다. 유사하게, 주어진 모델이 랜덤 기회 임계치를 충족시키기에 충분히 부정확하다면(예를 들어, 모델이 주어진 입력에 대한 참/거짓 출력을 결정하는데 있어서 단지 55% 정확하다면), 그 모델에 대한 학습 페이즈는 조기에 종료될 수 있지만, 학습 페이즈의 다른 모델들은 트레이닝을 계속할 수 있다. 이와 유사하게, 주어진 모델이 다수의 에포크(epoch)들에 걸쳐 유사한 정확도를 계속 제공하거나 그의 결과들에서 변동할 때 - 성능 안정기(performance plateau)에 도달함 -, 주어진 모델에 대한 학습 페이즈는 에포크 번호/계산 예산에 도달하기 전에 종료될 수 있다.
일단 학습 페이즈가 완료되면, 모델들이 최종화된다. 일부 예시적인 실시예들에서, 최종화되는 모델들은 테스트 기준들에 대해 평가된다. 제1 예에서, 그 입력들에 대한 알려진 출력들을 포함하는 테스팅 데이터세트가 완성된 모델들에 공급되어, 트레이닝되지 않은 데이터를 핸들링하는 데 있어서 모델의 정확도를 결정한다. 제2 예에서, 거짓 양성률(false positive rate) 또는 거짓 음성률(false negative rate)이 최종화 후에 모델들을 평가하는 데 사용될 수 있다. 제3 예에서, 데이터 클러스터링들 사이의 묘사(delineation)는 그것의 데이터 클러스터들에 대한 가장 명확한 경계들을 생성하는 모델을 선택하기 위해 사용된다.
일부 실시예에서, 머신 학습 기술 트레이닝 모듈(304)은 하나 이상의 특징(예를 들어, 손 포즈 트레이닝 데이터 모듈(302)로부터 수신된 트레이닝 데이터)에 기초하여 손 안의 관절 위치를 추정하도록 트레이닝된다. 일부 실시예들에서, 머신 학습 시스템(204)은 주기적으로(예를 들어, 매주, 매월, 매년) 머신 학습 기술 트레이닝 모듈(304)을 트레이닝할 수 있다.
트레이닝된 후에, 머신 학습 기술 트레이닝 모듈(304)은 트레이닝된 머신 학습 기술 모듈(306)에 제공된다. 트레이닝된 머신 학습 기술 모듈(306)은 새로운 3D 손 포즈 데이터 모듈(308)로부터 새로운 3차원 손 포즈 이미지 데이터를 수신하도록 구성된다. 예를 들어, 새로운 3D 손 포즈 데이터 모듈(308)은 손 포즈를 포함하는 사용자에 의해 캡처된 스테레오 이미지들의 쌍을 수신한다. 새로운 3D 손 포즈 데이터 모듈(308)은 트레이닝된 머신 학습 기술 모듈(306)에게 새로운 3D 손 포즈 데이터 모듈(308)에 의해 제공된 스테레오 이미지들의 쌍에 트레이닝된 머신 학습 기술을 적용하도록 지시한다. 트레이닝된 머신 학습 기술 모듈(306)은 새로운 3D 손 포즈 데이터 모듈(308)에 의해 제공된 손의 스테레오 이미지들의 쌍에 기초하여 손 안의 관절 위치들의 추정을 제공한다.
일부 예들에서, 트레이닝된 머신 학습 기술 모듈(306)은 손 안의 추정된 관절 위치들을 3D 손 포즈 예측 모듈(310)에 제공한다. 3D 손 포즈 예측 모듈(310)은 추정된 관절 위치들에 기초하여 3차원 손 포즈의 유형을 결정할 수 있다.
도 4는 3차원 손 포즈를 자동으로 식별하는 프로세스들(402, 404, 406)의 흐름도를 나타낸 것이다. 프로세스들의 동작들이 서버 시스템(114)의 기능 컴포넌트들에 의해 부분적으로 또는 전체적으로 수행될 수 있도록 프로세스들이 하나 이상의 프로세서들에 의해 실행하기 위한 컴퓨터 판독가능 명령어들로 구현될 수 있고; 그에 따라, 프로세스들이 이하에서 그를 참조하여 예로서 기술된다. 그러나, 다른 실시예들에서, 프로세스들의 동작들 중 적어도 일부는 다양한 다른 하드웨어 구성들 상에 배치될 수 있다. 따라서, 프로세스들은 서버 시스템(114)으로 한정되는 것으로 의도되지 않으며, 임의의 다른 컴포넌트에 의해 전체적으로 또는 부분적으로 구현될 수 있다.
동작(402)에서, 손 포즈 추정 시스템(122)은 카메라로부터 한 쌍의 이미지를 수신한다. 일부 예들에서, 카메라는 스테레오 카메라이다. 한 쌍의 이미지는 손의 제1 뷰 및 제2 뷰를 포함한다. 일부 예에서, 손의 제1 뷰는 손의 좌안 뷰를 복제하고 손의 제2 뷰는 손의 우안 뷰를 복제한다. 일부 예들에서, 스테레오 카메라 내의 각각의 카메라는 좌측 및 우측 눈 시점들과 상이한 위치들에 구성될 수 있다. 손의 제1 뷰는 제1 뷰 내의 손의 제1 위치를 포함하고, 손의 제2 뷰는 제2 뷰 내의 손의 제2 위치를 포함한다. 손의 제1 위치와 제2 위치는 수평 또는 수직으로 이질적일 수 있다. 예를 들어, 제1 뷰에서 수평 좌표 p에 나타나는 단일 관절 위치는 제2 뷰에서 제2 수평 좌표 p-3에 존재할 수 있다. 일부 예들에서, 동작(402)는 웨어러블 클라이언트 디바이스(102)(예를 들어, 좌측 및 우측 관자놀이 상에 장착된 카메라들을 갖는 헤드 장착형 이미지 캡처 디바이스) 상에서 수행된다.
동작(404)에서, 손 포즈 추정 시스템(122)은 관절 위치 좌표들의 복수의 세트들을 생성한다. 일부 예에서, 손 포즈 추정 시스템(122)은 관절 위치 좌표들의 제1 세트를 식별하고 관절 위치 좌표들의 제1 세트를 이용하여 관절 위치 좌표들의 제2 세트를 생성한다. 동작(404)의 추가 상세한 사항들은 도 5와 관련하여 아래에 설명된다.
동작(406)에서, 손 포즈 추정 시스템(122)은 관절 위치 좌표들의 복수의 세트들에 기초하여 3D 손 포즈를 식별한다. 손 포즈 추정 시스템(122)은 식별된 관절 위치들을 관절 위치들의 미리 정의된 데이터세트와 비교할 수 있다. 예를 들어, 손 포즈 추정 시스템(122)은 손 안의 관절 위치들에 기초하여 손 포즈가 "엄지 올리기(thumbs-up)" 포즈라고 결정할 수 있다.
도 5는 관절 위치 좌표들의 복수의 세트들을 생성하기 위한 예시적인 방법을 나타내는 흐름도이다. 일부 예들에서, 동작들(502, 504, 및 506)은 동작(404)의 일부로서 수행될 수 있다. 일부 예들에서, 502, 504, 및 506은 스테레오 이미지들의 쌍 내의 각각의 이미지에 대해 수행될 수 있다. 동작(502)에서, 손 포즈 추정 시스템(122)은, 하나 이상의 프로세서를 이용하여, 손을 포함하는 주어진 이미지의 일부를 크롭한다. 동작(502)은 도 2와 관련하여 전술한 바와 같은 전처리 시스템(202)에 의해 수행될 수 있다.
동작(504)에서, 손 포즈 추정 시스템(122)은, 신경망을 이용하여, 주어진 이미지의 크롭된 부분에서 관절 위치 좌표들의 제1 세트를 식별한다. 일부 예들에서, 관절 위치 좌표들의 제1 세트는 이미지 공간에서 손 포즈의 관절 위치들을 나타낸다. 이미지 공간은 이미지에서의 픽셀 위치들을 지칭할 수 있다. 예를 들어, 관절 위치 좌표들의 제1 세트는 크롭된 이미지 내의 픽셀 위치들과 관련하여 표현될 수 있다. 크롭된 이미지 내의 픽셀 위치들은 데카르트 좌표계를 이용하여 표현될 수 있다.
일부 예들에서, 신경망은 2차원 관절 위치 추정 및 이미지들의 쌍 내의 각각의 이미지 사이의 상이한 관절들에 대한 디스패리티(disparity)를 개별적으로 계산하는 컨볼루션 신경망이다. 신경망은 스테레오 이미지 쌍 내의 각각의 이미지에 대한 특징 맵들을 계산하고, 두 이미지로부터의 특징들을 결합하여 상대 디스패리티를 획득할 수 있다. 상대 디스패리티는 스테레오 이미지 쌍의 제1 및 제2 이미지 내의 2개의 대응하는 포인트들(예를 들면, 관절 위치들) 사이의 거리를 지칭한다. 동작(504)은 도 2와 관련하여 전술한 바와 같은 머신 학습 시스템(204)에 의해 수행될 수 있다.
동작(506)에서, 손 포즈 추정 시스템(122)은 관절 위치 좌표들의 제1 세트를 이용하여 관절 위치 좌표들의 제2 세트를 생성한다. 일부 예들에서, 관절 위치 좌표들의 제2 세트는 물리적 공간(예를 들어, 세계 공간)에서의 손 포즈의 관절 위치를 나타낸다. 세계 공간은 밀리미터를 사용하여 측정될 수 있다. 예를 들어, 관절 위치 좌표들의 제2 세트는 실제 물리적 공간에서 밀리미터로 표현될 수 있다. 물리적 공간은 데카르트 좌표계를 이용하여 표현될 수 있다. 일부 예들에서, 동작(506)은 후처리 시스템(206)에 의해 수행된다.
일례에서, 관절 위치 좌표들의 제1 세트는 관절 위치 좌표들의 제3 세트로 변환된다. 관절 위치 좌표들의 제3 세트는 이미지의 크롭되지 않은 버전(예로서, 수신된 스테레오 이미지들)에 대해 계산될 수 있다. 이미지의 크롭되지 않은 버전에 대한 관절 위치 좌표들의 제3 세트는 이어서 관절 위치 좌표들의 제2 세트로 변환될 수 있다.
도 6은 일부 예시적인 실시예들에 따른 3차원 손 포즈의 스테레오 이미지 쌍의 예시이다. 일부 예들에서, 스테레오 이미지 쌍은 좌측 및 우측 관자놀이 상에 장착된 카메라들을 갖는 헤드 장착형 이미지 캡처 디바이스에 의해 캡처된다. 손 포즈 추정 시스템(122)은 캡처된 이미지들을 분석하고 손 안의 관절 위치들을 식별한다. 손 포즈 추정 시스템(122)은 또한 손에서의 식별된 관절 위치들을 사용하여 3차원 손 포즈를 식별한다.
도 7은 머신(700)으로 하여금 본 명세서에서 논의된 방법론들 중 임의의 하나 이상을 수행하게 하기 위한 명령어들(708)(예를 들어, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱, 또는 다른 실행가능 코드)이 실행될 수 있는 머신(700)의 도식적 표현이다. 예를 들어, 명령어들(708)은 머신(700)으로 하여금 본 명세서에 설명된 방법들 중 임의의 하나 이상을 실행하게 할 수 있다. 명령어들(708)은 일반적인 비-프로그래밍된 머신(700)을 설명되고 예시된 기능들을 설명된 방식으로 수행하도록 프로그래밍된 특정한 머신(700)으로 변환한다. 머신(700)은 독립형 디바이스로서 동작할 수 있거나 다른 머신들에 결합(예를 들어, 네트워킹)될 수 있다. 네트워킹된 배치에서, 머신(700)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 자격으로, 또는 피어-투-피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신(700)은, 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 넷북, 셋톱 박스(STB), PDA, 엔터테인먼트 미디어 시스템, 셀룰러 전화, 스마트 폰, 모바일 디바이스, 웨어러블 디바이스(예를 들어, 스마트 시계), 스마트 홈 디바이스(예를 들어, 스마트 어플라이언스), 다른 스마트 디바이스들, 웹 어플라이언스, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 또는 머신(700)에 의해 취해질 액션들을 특정하는 명령어들(708)을 순차적으로 또는 다른 방식으로 실행할 수 있는 임의의 머신을 포함할 수 있지만, 이에 제한되지 않는다. 또한, 단일 머신(700)만이 예시되어 있지만, "머신"이라는 용어는 또한 본 명세서에서 논의된 방법론들 중 임의의 하나 이상을 수행하기 위해 명령어들(708)을 개별적으로 또는 공동으로 실행하는 머신들의 컬렉션을 포함하는 것으로 간주되어야 한다.
머신(700)은, 버스(744)를 통해 서로 통신하도록 구성될 수 있는 프로세서들(702), 메모리(704), 및 I/O 컴포넌트들(742)을 포함할 수 있다. 예시적인 실시예에서, 프로세서들(702)(예를 들어, 중앙 처리 유닛(CPU), RISC(Reduced Instruction Set Computing) 프로세서, CISC(Complex Instruction Set Computing) 프로세서, GPU(Graphics Processing Unit), DSP(Digital Signal Processor), ASIC, 무선 주파수 집적 회로(RFIC), 또 다른 프로세서, 또는 이들의 임의의 적절한 조합)은, 예를 들어, 명령어들(708)을 실행하는 프로세서(706) 및 프로세서(710)를 포함할 수 있다. "프로세서"라는 용어는, 명령어들을 동시에 실행할 수 있는 2개 이상의 독립된 프로세서(때때로 "코어"라고 한다)를 포함할 수 있는 멀티-코어 프로세서들을 포함하는 것으로 의도된다. 도 7은 복수의 프로세서들(702)을 도시하지만, 머신(700)은 단일 코어를 갖는 단일 프로세서, 다중 코어를 갖는 단일 프로세서(예를 들어, 멀티-코어 프로세서), 단일 코어를 갖는 다중 프로세서, 다중 코어를 갖는 다중 프로세서, 또는 이들의 임의의 조합을 포함할 수 있다.
메모리(704)는 메인 메모리(712), 정적 메모리(714) 및 저장 유닛(716)을 포함하고, 둘 다 버스(744)를 통해 프로세서들(702)에 액세스 가능하다. 메인 메모리(704), 정적 메모리(714) 및 저장 유닛(716)은 본 명세서에 설명된 방법론들 또는 기능들 중 임의의 하나 이상을 구현하는 명령어들(708)을 저장한다. 명령어들(708)은 또한, 머신(700)에 의한 그 실행 동안에, 완전히 또는 부분적으로, 메인 메모리(712) 내에, 정적 메모리(714) 내에, 스토리지 유닛(716) 내의 머신-판독가능한 매체(718) 내에, 적어도 하나의 프로세서들(702) 내에(예를 들어, 프로세서의 캐시 메모리 내에), 또는 이들의 임의의 적절한 조합으로 존재할 수 있다.
I/O 컴포넌트들(742)은 입력을 수신하고, 출력을 제공하고, 출력을 생성하고, 정보를 전송하고, 정보를 교환하고, 측정들을 캡처하는 등을 위한 매우 다양한 컴포넌트들을 포함할 수 있다. 특정 머신에 포함되는 특정 I/O 컴포넌트들(742)은 머신의 유형에 의존할 것이다. 예를 들어, 모바일 전화와 같은 휴대형 머신은 터치 입력 디바이스 또는 기타의 이러한 입력 메커니즘을 포함할 수 있는 반면, 헤드리스 서버 머신(headless server machine)은 이러한 터치 입력 디바이스를 포함하지 않을 것이다. I/O 컴포넌트들(742)은 도 7에 도시되지 않은 많은 다른 컴포넌트들을 포함할 수 있다는 것을 알 것이다. 다양한 예시적인 실시예들에서, I/O 컴포넌트들(742)은 출력 컴포넌트들(728) 및 입력 컴포넌트들(730)을 포함할 수 있다. 출력 컴포넌트들(728)은, 시각적 컴포넌트들(예를 들어, 플라즈마 디스플레이 패널(PDP), 발광 다이오드(LED) 디스플레이, 액정 디스플레이(LCD), 프로젝터, 또는 CRT(cathode ray tube)와 같은 디스플레이), 음향 컴포넌트들(예를 들어, 스피커), 햅틱 컴포넌트들(예를 들어, 진동 모터, 저항 메커니즘), 기타의 신호 생성기 등을 포함할 수 있다. 입력 컴포넌트들(730)은 영숫자 입력 컴포넌트들(예를 들어, 키보드, 영숫자 입력을 수신하도록 구성된 터치 스크린, 포토-광학 키보드, 또는 다른 영숫자 입력 컴포넌트들), 포인트 기반 입력 컴포넌트들(예를 들어, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 기구), 촉각 입력 컴포넌트들(예를 들어, 물리적 버튼, 터치들 또는 터치 제스처들의 위치 및/또는 힘을 제공하는 터치 스크린, 또는 다른 촉각 입력 컴포넌트들), 오디오 입력 컴포넌트들(예를 들어, 마이크로폰) 등을 포함할 수 있다.
추가의 예시적인 실시예들에서, I/O 컴포넌트들(742)은 다른 광범위한 컴포넌트들 중에서도, 바이오메트릭 컴포넌트들(732), 모션 컴포넌트들(734), 환경 컴포넌트들(736), 또는 위치 컴포넌트들(738)을 포함할 수 있다. 예를 들어, 바이오메트릭 컴포넌트들(732)은, 표현(예를 들어, 손 표현, 얼굴 표현, 음성 표현, 신체 제스처, 또는 시선 추적)을 검출하고, 생체신호(예를 들어, 혈압, 심박수, 체온, 땀 또는 뇌파)를 측정하고, 사람을 식별(예를 들어, 음성 식별, 망막 식별, 얼굴 식별, 지문 식별, 또는 뇌파계-기반 식별)하고, 이와 유사한 것을 하는 컴포넌트들을 포함한다. 모션 컴포넌트들(734)은 가속도 센서 컴포넌트들(예를 들어, 가속도계), 중력 센서 컴포넌트들, 회전 센서 컴포넌트들(예를 들어, 자이로스코프) 등을 포함한다. 환경 컴포넌트들(736)은, 예를 들어, 조명 센서 컴포넌트들(예를 들어, 광도계), 온도 센서 컴포넌트들(예를 들어, 주변 온도를 검출하는 하나 이상의 온도계), 습도 센서 컴포넌트들, 압력 센서 컴포넌트들(예를 들어, 기압계), 음향 센서 컴포넌트들(예를 들어, 배경 노이즈를 검출하는 하나 이상의 마이크로폰), 근접 센서 컴포넌트들(예를 들어, 근처의 물체를 검출하는 적외선 센서), 가스 센서들(예를 들어, 안전을 위해 유해 가스의 농도를 검출하거나 대기 중의 오염 물질을 측정하는 가스 검출 센서), 또는 주변의 물리적 환경에 대응하는 표시들, 측정들, 또는 신호들을 제공할 수 있는 기타의 컴포넌트들을 포함한다. 위치 컴포넌트들(738)은, 위치 센서 컴포넌트들(예를 들어, GPS 수신기 컴포넌트), 고도 센서 컴포넌트들(고도가 도출될 수 있는 기압을 검출하는 고도계 또는 기압계), 배향 센서 컴포넌트들(예를 들어, 자력계) 등을 포함한다.
통신은 매우 다양한 기술들을 사용하여 구현될 수 있다. I/O 컴포넌트들(742)은 머신(700)을 결합(724) 및 결합(726)을 통해 각각 네트워크(720) 또는 디바이스들(722)에 결합하도록 동작가능한 통신 컴포넌트들(740)을 더 포함한다. 예를 들어, 통신 컴포넌트들(740)은 네트워크 인터페이스 컴포넌트 또는 네트워크(720)와 인터페이스하기에 적합한 다른 디바이스를 포함할 수 있다. 추가 예들에서, 통신 컴포넌트들(740)은 유선 통신 컴포넌트들, 무선 통신 컴포넌트들, 셀룰러 통신 컴포넌트들, 근접장 통신(NFC) 컴포넌트들, 블루투스® 컴포넌트들(예를 들어, 블루투스® 로우 에너지), Wi-Fi® 컴포넌트들, 및 다른 양상들을 통해 통신을 제공하는 다른 통신 컴포넌트들을 포함할 수 있다. 디바이스들(722)은, 또 다른 머신 또는 임의의 다양한 주변 디바이스들(예를 들어, USB를 통해 결합된 주변 디바이스)일 수 있다.
더욱이, 통신 컴포넌트들(740)은 식별자들을 검출할 수 있거나 식별자들을 검출하도록 동작가능한 컴포넌트들을 포함할 수 있다. 예를 들어, 통신 컴포넌트들(740)은 RFID(Radio Frequency Identification) 태그 판독기 컴포넌트들, NFC 스마트 태그 검출 컴포넌트들, 광학 판독기 컴포넌트들(예를 들어, UPC(Universal Product Code) 바 코드와 같은 1차원 바 코드들, QR(Quick Response) 코드와 같은 다차원 바 코드들, Aztec 코드, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D 바 코드, 및 다른 광학 코드들을 검출하는 광학 센서), 또는 음향 검출 컴포넌트들(예를 들어, 태깅된 오디오 신호들을 식별하는 마이크로폰들)을 포함할 수 있다. 또한, 인터넷 프로토콜(IP) 지오로케이션(geolocation)을 통한 위치, Wi-Fi® 신호 삼각측량을 통한 위치, 특정한 위치를 나타낼 수 있는 NFC 비컨 신호 검출을 통한 위치 등의 다양한 정보가 통신 컴포넌트들(740)을 통해 도출될 수 있다.
다양한 메모리들(예를 들어, 메모리(704), 메인 메모리(712), 정적 메모리(714), 및/또는 프로세서들(702)의 메모리) 및/또는 스토리지 유닛(716)은 본 명세서에 설명된 방법론들 또는 기능들 중 임의의 하나 이상을 구현하거나 그에 의해 사용되는 명령어들 및 데이터 구조들(예를 들어, 소프트웨어)의 하나 이상의 세트를 저장할 수 있다. 이 명령어들(예컨대, 명령어들(708))은, 프로세서들(702)에 의해 실행될 때, 다양한 동작들로 하여금 개시된 실시예들을 구현하게 한다.
명령어들(708)은 네트워크 인터페이스 디바이스(예를 들어, 통신 컴포넌트들(740)에 포함된 네트워크 인터페이스 컴포넌트)를 통해 그리고 다수의 널리 공지된 전송 프로토콜들(예를 들어, 하이퍼텍스트 전송 프로토콜(HTTP)) 중 어느 하나를 사용하여, 전송 매체를 사용하여, 네트워크(720)를 통해 전송 또는 수신될 수 있다. 유사하게, 명령어들(708)은 디바이스들(722)에 대한 결합(726)(예를 들어, 피어-투-피어 결합)을 통해 전송 매체를 사용하여 전송 또는 수신될 수 있다.
도 8은 본 명세서에서 설명되는 디바이스들 중 임의의 하나 이상에 설치될 수 있는 소프트웨어 아키텍처(804)를 나타내는 블록도(800)이다. 소프트웨어 아키텍처(804)는 프로세서들(820), 메모리(826), 및 I/O 컴포넌트들(838)을 포함하는 머신(802)과 같은 하드웨어에 의해 지원된다. 이 예에서, 소프트웨어 아키텍처(804)는 계층들의 스택으로서 개념화될 수 있으며, 각각의 계층은 특정 기능성을 제공한다. 소프트웨어 아키텍처(804)는 운영 체제(812), 라이브러리들(810), 프레임워크들(808), 및 애플리케이션들(806)과 같은 계층들을 포함한다. 동작상, 애플리케이션들(806)은 소프트웨어 스택을 통해 API 호출(850)을 인보크하고 API 호출(850)에 응답하여 메시지들(852)을 수신한다.
운영 체제(812)는 하드웨어 자원들을 관리하고 공통 서비스들을 제공한다. 운영 체제(812)는, 예를 들어, 커널(814), 서비스들(816), 및 드라이버들(822)을 포함한다. 커널(814)은 하드웨어와 다른 소프트웨어 계층들 사이의 추상화(abstraction) 계층으로서 작용한다. 예를 들어, 커널(814)은 다른 기능성 중에서도, 메모리 관리, 프로세서 관리(예를 들어, 스케쥴링), 컴포넌트 관리, 네트워킹, 및 보안 설정을 제공한다. 서비스들(816)은 다른 소프트웨어 계층들에 대한 다른 공통 서비스들을 제공할 수 있다. 드라이버들(822)은 기본 하드웨어를 제어하거나 그와 인터페이싱하는 것을 담당한다. 예를 들어, 드라이버들(822)은 디스플레이 드라이버들, 카메라 드라이버들, BLUETOOTH® 또는 BLUETOOTH® 로우 에너지 드라이버들, 플래시 메모리 드라이버들, 직렬 통신 드라이버들(예를 들어, USB(Universal Serial Bus) 드라이버들), WI-FI® 드라이버들, 오디오 드라이버들, 전력 관리 드라이버들 등을 포함할 수 있다.
라이브러리들(810)은 애플리케이션들(806)에 의해 사용되는 로우-레벨 공통 인프라스트럭처를 제공한다. 라이브러리들(810)은, 메모리 할당 기능들, 문자열 조작 기능들, 수학 기능들, 및 이와 유사한 것과 같은 기능들을 제공하는 시스템 라이브러리들(818)(예를 들어, C 표준 라이브러리)을 포함할 수 있다. 또한, 라이브러리들(810)은, 미디어 라이브러리들(예를 들어, MPEG4(Moving Picture Experts Group-4), H.264 또는 AVC(Advanced Video Coding), MP3(Moving Picture Experts Group Layer-3), AAC(Advanced Audio Coding), AMR(Adaptive Multi-Rate) 오디오 코덱, JPEG 또는 JPG(Joint Photographic Experts Group), 또는 PNG(Portable Network Graphics)과 같은 다양한 미디어 포맷의 프리젠테이션과 조작을 지원하는 라이브러리들), 그래픽 라이브러리들(예를 들어, 그래픽 콘텐츠를 디스플레이 상에서 2차원(2D) 및 3차원(3D)으로 렌더링하는 데 이용되는 OpenGL 프레임워크), 데이터베이스 라이브러리들(예를 들어, 다양한 관계형 데이터베이스 기능들을 제공하는 SQLite), 웹 라이브러리들(예를 들어, 웹 브라우징 기능성을 제공하는 WebKit) 등의 API 라이브러리들(824)를 포함할 수 있다. 라이브러리들(810)은 또한, 많은 다른 API들을 애플리케이션들(806)에 제공하는 다양한 다른 라이브러리들(828)을 포함할 수 있다.
프레임워크들(808)은 애플리케이션들(806)에 의해 사용되는 하이 레벨 공통 인프라스트럭처를 제공한다. 예를 들어, 프레임워크들(808)은, 다양한 그래픽 사용자 인터페이스(GUI) 기능들, 하이-레벨 자원 관리, 및 하이-레벨 위치 서비스들을 제공한다. 프레임워크들(808)은 애플리케이션들(806)에 의해 이용될 수 있는 다른 API들의 광범위한 스펙트럼을 제공할 수 있고, 그 중 일부는 특정한 운영 체제 또는 플랫폼에 고유할 수 있다.
예시적인 실시예에서, 애플리케이션들(806)은 홈 애플리케이션(836), 연락처 애플리케이션(830), 브라우저 애플리케이션(832), 북 리더 애플리케이션(834), 위치 애플리케이션(842), 미디어 애플리케이션(844), 메시징 애플리케이션(846), 게임 애플리케이션(848), 및 제3자 애플리케이션들(840)과 같은 광범위한 다른 애플리케이션들을 포함할 수 있다. 애플리케이션들(806)은 프로그램들에서 정의된 기능들을 실행하는 프로그램들이다. 객체 지향형 프로그래밍 언어들(예를 들어, Objective-C, Java, 또는 C++) 또는 절차형 프로그래밍 언어들(예를 들어, C 또는 어셈블리 언어) 등의 다양한 방식으로 구조화된 하나 이상의 애플리케이션들(806)을 생성하기 위해 다양한 프로그래밍 언어들이 이용될 수 있다. 특정 예에서, 제3자 애플리케이션들(840)(예를 들어, 특정 플랫폼의 벤더 이외의 엔티티에 의해 ANDROIDTM 또는 IOSTM 소프트웨어 개발 키트(SDK)를 이용하여 개발된 애플리케이션들)은 IOSTM, ANDROIDTM, WINDOWS® Phone, 또는 다른 모바일 운영 체제와 같은 모바일 운영 체제 상에서 실행되는 모바일 소프트웨어일 수 있다. 이 예에서, 제3자 애플리케이션들(840)은 본 명세서에 설명된 기능성을 용이하게 하기 위해 운영 체제(812)에 의해 제공되는 API 호출들(850)을 인보크할 수 있다.

Claims (20)

  1. 방법으로서,
    카메라로부터 손의 복수의 이미지들을 수신하는 단계;
    상기 복수의 이미지들에서의 각각의 주어진 이미지에 대해:
    하나 이상의 프로세서를 사용하여, 상기 손을 포함하는 상기 주어진 이미지의 일부분을 크롭하고;
    신경망을 이용하여, 상기 주어진 이미지의 상기 크롭된 부분 내의 관절 위치 좌표들의 제1 세트를 식별하고;
    상기 관절 위치 좌표들의 제1 세트를 이용하여 관절 위치 좌표들의 제2 세트를 생성하는 것
    에 의해, 관절 위치 좌표들의 복수의 세트들을 생성하는 단계; 및
    상기 관절 위치 좌표들의 복수의 세트에 기초하여 3차원 손 포즈를 식별하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 복수의 이미지는 상기 손의 복수의 뷰를 포함하는, 방법.
  3. 제1항에 있어서,
    클라이언트 디바이스의 사용자에게 손 위치를 초기화하도록 촉구하는 단계;
    초기화된 손 위치를 수신하는 단계; 및
    상기 초기화된 손 위치에 기초하여 상기 손을 추적하는 단계
    를 더 포함하는 방법.
  4. 제1항에 있어서, 상기 카메라는 스테레오 카메라인, 방법.
  5. 제1항에 있어서, 상기 관절 위치 좌표들의 제1 세트는 픽셀 위치에 기초하여 측정되는, 방법.
  6. 제1항에 있어서,
    상기 관절 위치 좌표들의 제1 세트를 관절 위치 좌표들의 제3 세트로 변환하는 단계 - 상기 관절 위치 좌표들의 제3 세트는 상기 주어진 이미지의 크롭되지 않은 버전에 대해 측정됨 -; 및
    상기 관절 위치 좌표들의 제3 세트를 상기 관절 위치 좌표들의 제2 세트로 변환하는 단계
    를 더 포함하는 방법.
  7. 제1항에 있어서,
    가상 손들의 스테레오 이미지 쌍들 및 대응하는 실측 정보 라벨들을 포함하는 합성 트레이닝 데이터세트를 생성하는 단계
    를 더 포함하고, 상기 대응하는 실측 정보 라벨들은 관절 위치들을 포함하는, 방법.
  8. 시스템으로서,
    프로세서; 및
    상기 프로세서에 의해 실행될 때, 동작들을 수행하도록 장치를 구성하는 명령어들을 저장하는 메모리
    를 포함하고, 상기 동작들은:
    카메라로부터 손의 복수의 이미지를 수신하는 동작;
    상기 복수의 이미지들에서의 각각의 주어진 이미지에 대해:
    하나 이상의 프로세서를 사용하여, 상기 손을 포함하는 상기 주어진 이미지의 일부분을 크롭하고;
    신경망을 이용하여, 상기 주어진 이미지의 상기 크롭된 부분 내의 관절 위치 좌표들의 제1 세트를 식별하고;
    상기 관절 위치 좌표들의 제1 세트를 이용하여 관절 위치 좌표들의 제2 세트를 생성하는 것
    에 의해, 관절 위치 좌표들의 복수의 세트들을 생성하는 동작; 및
    상기 관절 위치 좌표들의 복수의 세트들에 기초하여 3차원 손 포즈를 식별하는 동작
    을 포함하는, 시스템.
  9. 제8항에 있어서, 상기 복수의 이미지는 상기 손의 복수의 뷰를 포함하는, 시스템.
  10. 제8항에 있어서, 상기 동작들은:
    클라이언트 디바이스의 사용자에게 손 위치를 초기화하도록 촉구하는 동작;
    초기화된 손 위치를 수신하는 동작; 및
    상기 초기화된 손 위치에 기초하여 상기 손을 추적하는 동작
    을 더 포함하는, 시스템.
  11. 제8항에 있어서, 상기 카메라는 스테레오 카메라인, 시스템.
  12. 제8항에 있어서, 상기 관절 위치 좌표들의 제1 세트는 픽셀 위치에 기초하여 측정되는, 시스템.
  13. 제8항에 있어서, 상기 동작들은:
    상기 관절 위치 좌표들의 제1 세트를 관절 위치 좌표들의 제3 세트로 변환하는 동작 - 상기 관절 위치 좌표들의 제3 세트는 상기 주어진 이미지의 크롭되지 않은 버전에 대해 측정됨 -; 및
    상기 관절 위치 좌표들의 제3 세트를 상기 관절 위치 좌표들의 제2 세트로 변환하는 동작
    을 더 포함하는, 시스템.
  14. 제8항에 있어서, 상기 동작들은:
    가상 손들의 스테레오 이미지 쌍들 및 대응하는 실측 정보 라벨들을 포함하는 합성 트레이닝 데이터세트를 생성하는 동작
    를 더 포함하고, 상기 대응하는 실측 정보 라벨들은 관절 위치들을 포함하는, 시스템.
  15. 비일시적 컴퓨터 판독가능 저장 매체로서,
    컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금:
    카메라로부터 손의 복수의 이미지를 수신하는 동작;
    상기 복수의 이미지들에서의 각각의 주어진 이미지에 대해:
    하나 이상의 프로세서를 사용하여, 상기 손을 포함하는 상기 주어진 이미지의 일부분을 크롭하고;
    신경망을 이용하여, 상기 주어진 이미지의 상기 크롭된 부분 내의 관절 위치 좌표들의 제1 세트를 식별하고;
    상기 관절 위치 좌표들의 제1 세트를 이용하여 관절 위치 좌표들의 제2 세트를 생성하는 것
    에 의해, 관절 위치 좌표들의 복수의 세트들을 생성하는 동작; 및
    상기 관절 위치 좌표들의 복수의 세트에 기초하여 3차원 손 포즈를 식별하는 동작
    을 포함하는 동작들을 수행하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
  16. 제15항에 있어서, 상기 복수의 이미지는 상기 손의 복수의 뷰를 포함하는, 컴퓨터 판독가능 저장 매체.
  17. 제15항에 있어서, 상기 동작들은:
    클라이언트 디바이스의 사용자에게 손 위치를 초기화하도록 촉구하는 동작;
    초기화된 손 위치를 수신하는 동작; 및
    상기 초기화된 손 위치에 기초하여 상기 손을 추적하는 동작
    을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  18. 제15항에 있어서, 상기 관절 위치 좌표들의 제2 세트는 밀리미터를 이용하여 측정되는, 컴퓨터 판독가능 저장 매체.
  19. 제15항에 있어서, 상기 동작들은
    가상 손들의 스테레오 이미지 쌍들 및 대응하는 실측 정보 라벨들을 포함하는 합성 트레이닝 데이터세트를 생성하는 동작
    을 더 포함하고, 상기 대응하는 실측 정보 라벨들은 관절 위치들을 포함하는, 컴퓨터 판독가능 저장 매체.
  20. 제15항에 있어서, 상기 동작들은
    상기 관절 위치 좌표들의 제1 세트를 관절 위치 좌표들의 제3 세트로 변환하는 동작 - 상기 관절 위치 좌표들의 제3 세트는 상기 주어진 이미지의 크롭되지 않은 버전에 대해 측정됨 -; 및
    상기 관절 위치 좌표들의 제3 세트를 상기 관절 위치 좌표들의 제2 세트로 변환하는 동작
    을 더 포함하는, 컴퓨터 판독가능 저장 매체.
KR1020227011494A 2019-09-09 2020-09-09 스테레오 카메라들로부터의 손 포즈 추정 KR20220062338A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962897669P 2019-09-09 2019-09-09
US62/897,669 2019-09-09
PCT/US2020/070515 WO2021051131A1 (en) 2019-09-09 2020-09-09 Hand pose estimation from stereo cameras

Publications (1)

Publication Number Publication Date
KR20220062338A true KR20220062338A (ko) 2022-05-16

Family

ID=74850497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227011494A KR20220062338A (ko) 2019-09-09 2020-09-09 스테레오 카메라들로부터의 손 포즈 추정

Country Status (4)

Country Link
US (2) US11551374B2 (ko)
KR (1) KR20220062338A (ko)
CN (1) CN114391160A (ko)
WO (1) WO2021051131A1 (ko)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509466B1 (en) 2011-05-11 2019-12-17 Snap Inc. Headwear with computer and optical element for use therewith and systems utilizing same
US10439972B1 (en) 2013-05-30 2019-10-08 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US10438631B2 (en) 2014-02-05 2019-10-08 Snap Inc. Method for real-time video processing involving retouching of an object in the video
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US9225897B1 (en) 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
US10775996B2 (en) 2014-11-26 2020-09-15 Snap Inc. Hybridization of voice notes and calling
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US10616239B2 (en) 2015-03-18 2020-04-07 Snap Inc. Geo-fence authorization provisioning
US9668217B1 (en) 2015-05-14 2017-05-30 Snap Inc. Systems and methods for wearable initiated handshaking
US10503264B1 (en) 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US10055895B2 (en) 2016-01-29 2018-08-21 Snap Inc. Local augmented reality persistent sticker objects
US10474353B2 (en) 2016-05-31 2019-11-12 Snap Inc. Application control using a gesture based trigger
US10102423B2 (en) 2016-06-30 2018-10-16 Snap Inc. Object modeling and replacement in a video stream
US11404056B1 (en) 2016-06-30 2022-08-02 Snap Inc. Remoteless control of drone behavior
US10609036B1 (en) 2016-10-10 2020-03-31 Snap Inc. Social media post subscribe requests for buffer user accounts
US10579869B1 (en) 2017-07-18 2020-03-03 Snap Inc. Virtual object machine learning
US11204949B1 (en) 2017-07-31 2021-12-21 Snap Inc. Systems, devices, and methods for content selection
US11323398B1 (en) 2017-07-31 2022-05-03 Snap Inc. Systems, devices, and methods for progressive attachments
US10591730B2 (en) 2017-08-25 2020-03-17 II Jonathan M. Rodriguez Wristwatch based interface for augmented reality eyewear
US11531357B1 (en) 2017-10-05 2022-12-20 Snap Inc. Spatial vector-based drone control
EP3707693A1 (en) 2017-11-08 2020-09-16 Signall Technologies Zrt Computer vision based sign language interpreter
US10217488B1 (en) 2017-12-15 2019-02-26 Snap Inc. Spherical video editing
US10523606B2 (en) 2018-01-02 2019-12-31 Snap Inc. Generating interactive messages with asynchronous media content
US10567321B2 (en) 2018-01-02 2020-02-18 Snap Inc. Generating interactive messages with asynchronous media content
US11063889B2 (en) 2018-06-08 2021-07-13 Snap Inc. Generating interactive messages with entity assets
US10796482B2 (en) 2018-12-05 2020-10-06 Snap Inc. 3D hand shape and pose estimation
US11012390B1 (en) 2019-03-28 2021-05-18 Snap Inc. Media content response in a messaging system
US11019011B1 (en) 2019-03-29 2021-05-25 Snap Inc. Messaging system with discard user interface
US11036368B1 (en) 2019-03-29 2021-06-15 Snap Inc. Messaging system with message transmission user interface
US11106342B1 (en) 2019-06-03 2021-08-31 Snap Inc. User interfaces to facilitate multiple modes of electronic communication
US11151794B1 (en) 2019-06-28 2021-10-19 Snap Inc. Messaging system with augmented reality messages
US11307747B2 (en) 2019-07-11 2022-04-19 Snap Inc. Edge gesture interface with smart interactions
CN114391160A (zh) * 2019-09-09 2022-04-22 斯纳普公司 根据立体相机的手部姿势估计
US11062498B1 (en) 2019-12-30 2021-07-13 Snap Inc. Animated pull-to-refresh
US11488358B2 (en) 2020-02-05 2022-11-01 Snap Inc. Augmented reality session creation using skeleton tracking
US11265274B1 (en) 2020-02-28 2022-03-01 Snap Inc. Access and routing of interactive messages
US11409368B2 (en) 2020-03-26 2022-08-09 Snap Inc. Navigating through augmented reality content
US11675494B2 (en) 2020-03-26 2023-06-13 Snap Inc. Combining first user interface content into second user interface
US11960651B2 (en) 2020-03-30 2024-04-16 Snap Inc. Gesture-based shared AR session creation
US11455078B1 (en) 2020-03-31 2022-09-27 Snap Inc. Spatial navigation and creation interface
US11991469B2 (en) 2020-06-30 2024-05-21 Snap Inc. Skeletal tracking for real-time virtual effects
CN116114258A (zh) 2020-08-13 2023-05-12 斯纳普公司 用于位姿驱动的虚拟效果的用户界面
US11360733B2 (en) 2020-09-10 2022-06-14 Snap Inc. Colocated shared augmented reality without shared backend
US11671559B2 (en) 2020-09-30 2023-06-06 Snap Inc. Real time video editing
US11508121B2 (en) * 2020-12-21 2022-11-22 Qualcomm Technologies, Inc. Method for annotating points on a hand image to create training dataset for machine learning
US11782577B2 (en) 2020-12-22 2023-10-10 Snap Inc. Media content player on an eyewear device
US11797162B2 (en) 2020-12-22 2023-10-24 Snap Inc. 3D painting on an eyewear device
EP4272406A1 (en) 2020-12-29 2023-11-08 Snap Inc. Body ui for augmented reality components
WO2022147151A1 (en) 2020-12-31 2022-07-07 Snap Inc. Real-time video communication interface with haptic feedback
US12008152B1 (en) 2020-12-31 2024-06-11 Snap Inc. Distance determination for mixed reality interaction
US11989348B2 (en) 2020-12-31 2024-05-21 Snap Inc. Media content items with haptic feedback augmentations
EP4272059A1 (en) 2020-12-31 2023-11-08 Snap Inc. Electronic communication interface with haptic feedback response
US11734959B2 (en) 2021-03-16 2023-08-22 Snap Inc. Activating hands-free mode on mirroring device
US11809633B2 (en) 2021-03-16 2023-11-07 Snap Inc. Mirroring device with pointing based navigation
USD998637S1 (en) 2021-03-16 2023-09-12 Snap Inc. Display screen or portion thereof with a graphical user interface
US11908243B2 (en) 2021-03-16 2024-02-20 Snap Inc. Menu hierarchy navigation on electronic mirroring devices
US11978283B2 (en) 2021-03-16 2024-05-07 Snap Inc. Mirroring device with a hands-free mode
US11798201B2 (en) 2021-03-16 2023-10-24 Snap Inc. Mirroring device with whole-body outfits
US11928306B2 (en) 2021-05-19 2024-03-12 Snap Inc. Touchpad navigation for augmented reality display device
US11880542B2 (en) 2021-05-19 2024-01-23 Snap Inc. Touchpad input for augmented reality display device
KR102548208B1 (ko) * 2021-06-04 2023-06-28 주식회사 피앤씨솔루션 증강현실 글라스 장치의 실시간 손동작 인터페이스 구현을 위한 경량화된 손 관절 예측 방법 및 장치
US11670059B2 (en) 2021-09-01 2023-06-06 Snap Inc. Controlling interactive fashion based on body gestures
US11748958B2 (en) 2021-12-07 2023-09-05 Snap Inc. Augmented reality unboxing experience
US11960784B2 (en) 2021-12-07 2024-04-16 Snap Inc. Shared augmented reality unboxing experience
US11861801B2 (en) 2021-12-30 2024-01-02 Snap Inc. Enhanced reading with AR glasses
US11579747B1 (en) 2022-03-14 2023-02-14 Snap Inc. 3D user interface depth forgiveness
US11960653B2 (en) 2022-05-10 2024-04-16 Snap Inc. Controlling augmented reality effects through multi-modal human interaction
US12001878B2 (en) 2022-06-03 2024-06-04 Snap Inc. Auto-recovery for AR wearable devices
US12002168B2 (en) 2022-06-20 2024-06-04 Snap Inc. Low latency hand-tracking in augmented reality systems
US11995780B2 (en) 2022-09-09 2024-05-28 Snap Inc. Shooting interaction using augmented reality content in a messaging system
US11948266B1 (en) 2022-09-09 2024-04-02 Snap Inc. Virtual object manipulation with gestures in a messaging system
US11797099B1 (en) 2022-09-19 2023-10-24 Snap Inc. Visual and audio wake commands
US11747912B1 (en) 2022-09-22 2023-09-05 Snap Inc. Steerable camera for AR hand tracking

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7971156B2 (en) 2007-01-12 2011-06-28 International Business Machines Corporation Controlling resource access based on user gesturing in a 3D captured image stream of the user
US20090012788A1 (en) 2007-07-03 2009-01-08 Jason Andre Gilbert Sign language translation system
US8487938B2 (en) 2009-01-30 2013-07-16 Microsoft Corporation Standard Gestures
US7996793B2 (en) 2009-01-30 2011-08-09 Microsoft Corporation Gesture recognizer system architecture
US8856691B2 (en) 2009-05-29 2014-10-07 Microsoft Corporation Gesture tool
US20140171036A1 (en) 2009-11-18 2014-06-19 Gwendolyn Simmons Method of communication
US8751215B2 (en) 2010-06-04 2014-06-10 Microsoft Corporation Machine based sign language interpreter
WO2012046392A1 (ja) * 2010-10-08 2012-04-12 パナソニック株式会社 姿勢推定装置及び姿勢推定方法
US8994718B2 (en) * 2010-12-21 2015-03-31 Microsoft Technology Licensing, Llc Skeletal control of three-dimensional virtual world
US10509466B1 (en) 2011-05-11 2019-12-17 Snap Inc. Headwear with computer and optical element for use therewith and systems utilizing same
US20150370320A1 (en) 2014-06-20 2015-12-24 Medibotics Llc Smart Clothing with Human-to-Computer Textile Interface
US9230160B1 (en) 2012-08-27 2016-01-05 Amazon Technologies, Inc. Method, medium, and system for online ordering using sign language
CN103049761B (zh) 2013-01-21 2016-08-03 中国地质大学(武汉) 基于手语手套的手语识别方法及***
US9705831B2 (en) 2013-05-30 2017-07-11 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9742713B2 (en) 2013-05-30 2017-08-22 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US10439972B1 (en) 2013-05-30 2019-10-08 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9558756B2 (en) 2013-10-29 2017-01-31 At&T Intellectual Property I, L.P. Method and system for adjusting user speech in a communication session
US10438631B2 (en) 2014-02-05 2019-10-08 Snap Inc. Method for real-time video processing involving retouching of an object in the video
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9646201B1 (en) * 2014-06-05 2017-05-09 Leap Motion, Inc. Three dimensional (3D) modeling of a complex control object
US9225897B1 (en) 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
WO2016132371A1 (en) * 2015-02-22 2016-08-25 Technion Research & Development Foundation Limited Gesture recognition using multi-sensory data
EP3284019A4 (en) 2015-04-16 2018-12-05 Robert Bosch GmbH System and method for automated sign language recognition
US10503264B1 (en) 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US11106273B2 (en) 2015-10-30 2021-08-31 Ostendo Technologies, Inc. System and methods for on-body gestural interfaces and projection displays
US20170185141A1 (en) 2015-12-29 2017-06-29 Microsoft Technology Licensing, Llc Hand tracking for interaction feedback
US10055895B2 (en) 2016-01-29 2018-08-21 Snap Inc. Local augmented reality persistent sticker objects
JP2017174300A (ja) 2016-03-25 2017-09-28 富士ゼロックス株式会社 情報処理装置、情報処理方法およびプログラム
US9965467B2 (en) 2016-03-28 2018-05-08 Avaya Inc. Sign language communication with communication devices
US10628664B2 (en) 2016-06-04 2020-04-21 KinTrans, Inc. Automatic body movement recognition and association system
US10102423B2 (en) 2016-06-30 2018-10-16 Snap Inc. Object modeling and replacement in a video stream
US11404056B1 (en) 2016-06-30 2022-08-02 Snap Inc. Remoteless control of drone behavior
WO2018017399A1 (en) * 2016-07-20 2018-01-25 Usens, Inc. Method and system for 3d hand skeleton tracking
CN106295678B (zh) * 2016-07-27 2020-03-06 北京旷视科技有限公司 神经网络训练与构建方法和装置以及目标检测方法和装置
CN106250867B (zh) * 2016-08-12 2017-11-14 南京华捷艾米软件科技有限公司 一种基于深度数据的人体骨骼跟踪***的实现方法
US20180088671A1 (en) * 2016-09-27 2018-03-29 National Kaohsiung University Of Applied Sciences 3D Hand Gesture Image Recognition Method and System Thereof
US10446059B2 (en) 2016-12-07 2019-10-15 Thomas William Pryor Hand motion interpretation and communication apparatus
EP3373114B1 (en) * 2017-03-10 2019-10-09 Alterface Projects Tracking system and method using a depth aware camera
US10261595B1 (en) * 2017-05-19 2019-04-16 Facebook Technologies, Llc High resolution tracking and response to hand gestures through three dimensions
US10485454B2 (en) * 2017-05-24 2019-11-26 Neuropath Sprl Systems and methods for markerless tracking of subjects
US10579869B1 (en) 2017-07-18 2020-03-03 Snap Inc. Virtual object machine learning
US10591730B2 (en) 2017-08-25 2020-03-17 II Jonathan M. Rodriguez Wristwatch based interface for augmented reality eyewear
EP3707693A1 (en) 2017-11-08 2020-09-16 Signall Technologies Zrt Computer vision based sign language interpreter
US11544871B2 (en) * 2017-12-13 2023-01-03 Google Llc Hand skeleton learning, lifting, and denoising from 2D images
US10217488B1 (en) 2017-12-15 2019-02-26 Snap Inc. Spherical video editing
US10962809B1 (en) 2018-01-10 2021-03-30 Snap Inc. Eyewear device with finger activated touch sensor
US11092998B1 (en) 2018-01-12 2021-08-17 Snap Inc. Eyewear device with fingerprint sensor for user input
US11227626B1 (en) 2018-05-21 2022-01-18 Snap Inc. Audio response messages
US20200050342A1 (en) * 2018-08-07 2020-02-13 Wen-Chieh Geoffrey Lee Pervasive 3D Graphical User Interface
CN112789578A (zh) 2018-09-28 2021-05-11 美国斯耐普公司 用于可穿戴或移动设备上的姿势、穿戴、活动或携带检测的神经网络***
PT3656302T (pt) * 2018-11-26 2020-11-03 Lindera Gmbh Sistema e método para análise da marcha humana
US10796482B2 (en) * 2018-12-05 2020-10-06 Snap Inc. 3D hand shape and pose estimation
US11012390B1 (en) 2019-03-28 2021-05-18 Snap Inc. Media content response in a messaging system
US11036368B1 (en) 2019-03-29 2021-06-15 Snap Inc. Messaging system with message transmission user interface
US11106342B1 (en) 2019-06-03 2021-08-31 Snap Inc. User interfaces to facilitate multiple modes of electronic communication
US11307747B2 (en) 2019-07-11 2022-04-19 Snap Inc. Edge gesture interface with smart interactions
CN114391160A (zh) 2019-09-09 2022-04-22 斯纳普公司 根据立体相机的手部姿势估计
US11169600B1 (en) 2019-12-06 2021-11-09 Snap Inc. Virtual object display interface between a wearable device and a mobile device
US11182909B2 (en) * 2019-12-10 2021-11-23 Google Llc Scalable real-time hand tracking
US11087728B1 (en) 2019-12-21 2021-08-10 Snap Inc. Computer vision and mapping for audio applications
US11062498B1 (en) 2019-12-30 2021-07-13 Snap Inc. Animated pull-to-refresh
US11488358B2 (en) 2020-02-05 2022-11-01 Snap Inc. Augmented reality session creation using skeleton tracking
US11409368B2 (en) 2020-03-26 2022-08-09 Snap Inc. Navigating through augmented reality content
US11675494B2 (en) 2020-03-26 2023-06-13 Snap Inc. Combining first user interface content into second user interface
US11960651B2 (en) 2020-03-30 2024-04-16 Snap Inc. Gesture-based shared AR session creation
US11995774B2 (en) 2020-06-29 2024-05-28 Snap Inc. Augmented reality experiences using speech and text captions
US20210405761A1 (en) 2020-06-29 2021-12-30 Ilteris Canberk Augmented reality experiences with object manipulation
US11925863B2 (en) 2020-09-18 2024-03-12 Snap Inc. Tracking hand gestures for interactive game control in augmented reality
US11546505B2 (en) 2020-09-28 2023-01-03 Snap Inc. Touchless photo capture in response to detected hand gestures
US11900729B2 (en) 2020-12-16 2024-02-13 Snap Inc. Eyewear including sign language to speech translation
WO2022146678A1 (en) 2020-12-29 2022-07-07 Snap Inc. Micro hand gestures for controlling virtual and graphical elements
US11531402B1 (en) 2021-02-25 2022-12-20 Snap Inc. Bimanual gestures for controlling virtual and graphical elements
US11908243B2 (en) 2021-03-16 2024-02-20 Snap Inc. Menu hierarchy navigation on electronic mirroring devices
US11734959B2 (en) 2021-03-16 2023-08-22 Snap Inc. Activating hands-free mode on mirroring device
CN112801061A (zh) * 2021-04-07 2021-05-14 南京百伦斯智能科技有限公司 一种体态识别方法及***
CN117120962A (zh) 2021-04-08 2023-11-24 斯纳普公司 用于控制虚拟和图形元素的映射手部区域之间的双手交互
US11861070B2 (en) 2021-04-19 2024-01-02 Snap Inc. Hand gestures for animating and controlling virtual and graphical elements
CN117356116A (zh) 2021-05-19 2024-01-05 斯纳普公司 用于定位可穿戴设备和向可穿戴设备递送内容的信标

Also Published As

Publication number Publication date
US11551374B2 (en) 2023-01-10
WO2021051131A1 (en) 2021-03-18
US11880509B2 (en) 2024-01-23
US20210074016A1 (en) 2021-03-11
CN114391160A (zh) 2022-04-22
US20230161419A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
US11880509B2 (en) Hand pose estimation from stereo cameras
KR102222642B1 (ko) 이미지 내의 객체 검출을 위한 신경망
US11810316B2 (en) 3D reconstruction using wide-angle imaging devices
KR20210038699A (ko) 액티브 이미지 깊이 예측
KR20220154816A (ko) 대규모 증강 현실을 위한 위치 매핑
US20220375041A1 (en) Selective image pyramid computation for motion blur mitigation in visual-inertial tracking
KR20240009993A (ko) 멀티레벨 특징 추적을 위한 직접 스케일 레벨 선택
KR20240008915A (ko) 모션 블러 완화를 위한 선택적 이미지 피라미드 계산
US20230326206A1 (en) Visual tag emerging pattern detection
US20230274460A1 (en) Ar data simulation with gaitprint imitation
US11683585B2 (en) Direct scale level selection for multilevel feature tracking under motion blur
KR20240006669A (ko) 늦은-워핑에서의 동적 오버-렌더링
US20230401796A1 (en) Fast ar device pairing using depth predictions
US11663738B2 (en) AR data simulation with gaitprint imitation
US20230419599A1 (en) Light estimation method for three-dimensional (3d) rendered objects
US20220375112A1 (en) Continuous surface and depth estimation
WO2023239776A1 (en) Fast ar device pairing using depth predictions
CN117501208A (zh) 利用步态印迹模仿的ar数据模拟