KR102439771B1 - 딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스 - Google Patents

딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스 Download PDF

Info

Publication number
KR102439771B1
KR102439771B1 KR1020197008125A KR20197008125A KR102439771B1 KR 102439771 B1 KR102439771 B1 KR 102439771B1 KR 1020197008125 A KR1020197008125 A KR 1020197008125A KR 20197008125 A KR20197008125 A KR 20197008125A KR 102439771 B1 KR102439771 B1 KR 102439771B1
Authority
KR
South Korea
Prior art keywords
head
layer
layers
user
sensors
Prior art date
Application number
KR1020197008125A
Other languages
English (en)
Other versions
KR20190041504A (ko
Inventor
앤드류 라비노비치
토마즈 얀 말리시에비츠
다니엘 데톤
Original Assignee
매직 립, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 매직 립, 인코포레이티드 filed Critical 매직 립, 인코포레이티드
Priority to KR1020227030033A priority Critical patent/KR102529137B1/ko
Publication of KR20190041504A publication Critical patent/KR20190041504A/ko
Application granted granted Critical
Publication of KR102439771B1 publication Critical patent/KR102439771B1/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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0338Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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/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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • 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
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

머리-장착 증강 현실(AR) 디바이스는 복수의 센서들(예컨대, 관성 측정 유닛, 외향 카메라, 깊이 감지 카메라, 눈 이미징 카메라 또는 마이크로폰)로부터 상이한 타입들의 센서 데이터를 수신하며; 그리고 히드라 뉴럴 네트워크(예컨대, 얼굴 인식, 시각적 서치, 제스처 식별, 시맨틱 세그먼트화, 오브젝트 검출, 조명 검출, 동시적인 로컬화 및 맵핑, 재로컬화) 및 상이한 타입들의 센서 데이터를 사용하여 복수의 이벤트들 중의 이벤트를 결정하도록 프로그래밍된 하드웨어 프로세서를 포함할 수 있다.

Description

딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스
[0001] 본 출원은, 2016년 8월 22일에 출원되고 발명의 명칭이 "SYSTEMS AND METHODS FOR AUGMENTED REALITY"인 미국 특허 출원 번호 제62/377,835호를 우선권으로 주장하며, 그리하여, 이 출원은 그 전체가 인용에 의해 본원에 포함된다.
[0002] 본 개시내용은 다수의 센서 입력들(예를 들어, 관성 측정 유닛들, 카메라들, 깊이 센서들, 마이크로폰들)을 다수의 기능성들(예를 들어, 얼굴 인식, 위치 및 맵핑, 오브젝트 검출, 깊이 추정 등)을 수행하는 공유된 층들 및 상부 층들을 포함하는 유니파이드 경로에 조합하기 위해 딥 러닝 뉴럴 네트워크들을 사용하는 증강 현실 시스템들에 관한 것이다.
[0003] 현대 컴퓨팅 및 디스플레이 기술들은 소위 "가상 현실" 또는 "증강 현실" 경험들을 위한 시스템들의 개발을 가능하게 했으며, 여기서 디지털방식으로 재생된 이미지들 또는 이미지들의 부분들은, 그들이 실제인 것으로 보이거나, 실제로서 지각될 수 있는 방식으로 사용자에게 제공된다. 가상 현실, 또는 "VR" 시나리오는 전형적으로 다른 실제 실세계 시각적 입력에 대한 투명도(transparency) 없는 디지털 또는 가상 이미지 정보의 프리젠테이션*presentation)을 수반하고; 증강 현실, 또는 "AR" 시나리오는 전형적으로 사용자 주위 실제 세계의 시각화에 대한 증강으로서 디지털 또는 가상 이미지 정보의 프리젠테이션을 수반한다.
[0004] 일 양상에서, 머리-장착 AR(augmented reality) 장치는 하드웨어 프로세서를 포함할 수 있으며, 이 하드웨어 프로세서는, 복수의 센서들(예를 들어, 관성 측정 유닛, 외향 카메라, 깊이 감지 카메라, 눈 이미징 카메라 또는 마이크로폰)로부터 상이한 타입들의 센서 데이터를 수신하고; 그리고 상이한 타입들의 센서 데이터 및 히드라 뉴럴 네트워크(예컨대, 얼굴 인식, 시각적 서치, 제스처 식별, 시맨틱 세그먼트화, 오브젝트 검출, 조명 검출, 동시적인 로컬화 및 맵핑, 재로컬화)를 사용하여 복수의 이벤트들의 이벤트를 결정하도록 프로그래밍된다. 다른 양상에서, 히드라 뉴럴 네트워크를 트레이닝하기 위한 시스템이 또한 개시된다. 또 다른 양상에서, 복수의 상이한 타입들의 이벤트들의 이벤트를 결정하기 위해 히드라 뉴럴 네트워크를 트레이닝하거나 트레이닝된 히드라 뉴럴 네트워크를 이용하기 위한 방법이 개시된다.
[0004] 본 명세서에서 설명되는 청구 대상의 하나 이상의 구현들의 세부사항들은 아래의 첨부 도면들 및 설명에서 기술된다. 다른 특징들, 양상들, 및 장점들은 설명, 도면들, 및 청구항들로부터 자명해질 것이다. 이 개요 또는 다음의 상세한 설명 어느것도, 본 발명의 청구 대상의 범위를 정의하거나 제한하는 것으로 의도되지 않는다.
[0005] 도 1은 사람에 의해 뷰잉된 소정의 가상 현실 오브젝트들, 및 소정의 물리적 오브젝트들을 가진 증강 현실 시나리오의 예시를 묘사한다.
[0006] 도 2a-도 2d는 웨어러블 시스템의 예들을 개략적으로 예시한다.
[0007] 도 3은 클라우드 컴퓨팅 자산들과 로컬 프로세싱 자산들 간의 코디네이션을 개략적으로 예시한다.
[0008] 도 4는 EM(electromagnetic) 추적 시스템의 예시적인 시스템 다이어그램을 개략적으로 예시한다.
[0009] 도 5는 전자기 추적 시스템의 실시예의 예시적인 기능을 설명하는 흐름도이다.
[0010] 도 6은 AR 시스템과 통합된 전자기 추적 시스템의 예를 개략적으로 예시한다.
[0011] 도 7은 AR 디바이스의 맥락에서 전자기 추적 시스템의 예의 기능을 설명하는 흐름도이다.
[0012] 도 8은 AR 시스템의 실시예의 컴포넌트들의 예들을 개략적으로 예시한다.
[0013] 도 9a-도 9f는 퀵 릴리스 모듈의 예들을 개략적으로 예시한다.
[0014] 도 10은 머리-장착 디스플레이 시스템을 개략적으로 예시한다.
[0015] 도 11a 및 도 11b는 머리-장착 디스플레이에 커플링된 전자기 감지 코일들의 예들을 개략적으로 예시한다.
[0016] 도 12a-도 12e는 전자기 센서에 커플링될 수 있는 페라이트 코어의 예시적인 구성들을 개략적으로 예시한다.
[0017] 도 13a는 주파수 분할 멀티플렉싱된(FDM) EM 송신기 회로(EM 방출기)의 예를 개략적으로 예시하는 블록 다이어그램이다.
[0018] 도 13b는 주파수 분할 멀티플렉싱된 EM 수신기 회로(EM 센서)의 예를 개략적으로 예시하는 블록 다이어그램이다.
[0019] 도 13c는 시분할 멀티플렉싱(TDM)된 EM 송신기 회로의 예를 개략적으로 예시하는 블록 다이어그램이다.
[0020] 도 13d는 EM 송신기에 대한 동적으로 튜닝 가능 회로의 예를 개략적으로 예시하는 블록 다이어그램이다.
[0021] 도 13e는 도 13d에 도시된 회로를 동적으로 튜닝함으로써 달성될 수 있는 공진들의 예들을 도시하는 그래프이다.
[0022] 도 13f는 시분할 멀티플렉싱된 EM 송신기 및 수신기에 대한 타이밍 다이어그램의 예를 예시한다.
[0023] 도 13g는 시분할 멀티플렉싱된 EM 송신기 및 수신기에 대한 스캔 타이밍의 예를 예시한다.
[0024] 도 13h는 EM 추적 시스템의 TDM 수신기의 예를 개략적으로 예시하는 블록 다이어그램이다.
[0025] 도 13i는 AGC(automatic gain control)가 없는 EM 수신기의 예를 개략적으로 예시하는 블록 다이어그램이다.
[0026] 도 13j는 AGC를 이용하는 EM 송신기의 예를 개략적으로 예시하는 블록 다이어그램이다
[0027] 도 14 및 도 15는 머리-장착 AR 시스템의 전자기 추적 시스템을 사용한 포즈 추적의 예들을 예시하는 흐름도들이다.
[0028] 도 16a 및 도 16b는 AR 시스템의 다른 실시예들의 컴포넌트들의 예들을 개략적으로 예시한다.
[0029] 도 17a는 전자기 추적 시스템의 송신기의 공진 회로의 예를 개략적으로 예시한다.
[0030] 도 17b는 도 17a의 공진 회로에서 22 kHz에서의 공진의 예를 도시하는 그래프이다.
[0031] 도 17c는 공진 회로를 통해 흐르는 전류의 예를 도시하는 그래프이다.
[0032] 도 17d 및 도 17e는 전자기 추적 시스템의 EM 필드 송신기의 공진 회로에 대한 동적으로 튜닝 가능 구성의 예들을 개략적으로 예시한다.
[0033] 도 17f는 도 17e에 도시된 예시적인 회로에서 커패시터(C4)의 커패시턴스의 값을 변경함으로써 동적으로 튜닝되는 공진들의 예들을 도시하는 그래프이다.
[0034] 도 17g는 다양한 공진 주파수들에서 달성되는 최대 전류의 예들을 도시하는 그래프이다.
[0035] 도 18a는 오디오 스피커에 인접한 전자기장 센서의 예를 개략적으로 도시하는 블록 다이어그램이다.
[0036] 도 18b는 센서 및 외부 오디오 스피커 둘 모두로부터 입력을 수신하는 잡음 제거 시스템을 가진 전자기장 센서의 예를 개략적으로 도시하는 블록 다이어그램이다.
[0037] 도 18c는 오디오 스피커에 의해 유발된 자기 간섭을 제거하기 위해 신호가 어떻게 인버팅되고 부가될 수 있는지의 예를 도시하는 그래프이다.
[0038] 도 18d는 EM 추적 시스템의 EM 센서에 의해 수신된 간섭을 제거하기 위한 예시적인 방법을 도시하는 흐름도이다.
[0039] 도 19는 비전 시스템의 교정을 보조하기 위해 광들의 패턴을 사용하는 것을 개략적으로 도시한다.
[0040] 도 20a-도 20c는 웨어러블 디스플레이 디바이스의 서브시스템들 또는 컴포넌트들과 함께 사용가능한 예시적인 회로들의 블록 다이어그램들이다.
[0041] 도 21은 IMU, 전자기 추적 센서 및 광학 센서로부터의 출력을 융합하는 예를 도시하는 그래프이다.
[0042] 도 22a-도 22c는 머리-장착 디스플레이에 커플링된 전자기 감지 코일들의 부가적인 예들을 개략적으로 예시한다.
[0043] 도 23a-도 23c는 전자기 신호들 및 음향 신호를 사용하여 머리-장착 디스플레이를 재교정하는 예를 개략적으로 예시한다.
[0044] 도 24a-도 24d는 카메라 또는 깊이 센서를 사용하여 머리-장착 디스플레이를 재교정하는 부가적인 예들을 개략적으로 예시한다.
[0045] 도 25a 및 도 25b는 전자기 추적 시스템과 연관될 수 있는 포지션 모호성을 해결하기 위한 기법들을 개략적으로 예시한다.
[0046] 도 26은 스파스 3-D 맵 포인트들의 피처 추출 및 생성의 예를 개략적으로 예시한다.
[0047] 도 27은 비전 기반 포즈 계산을 위한 방법의 예를 도시하는 흐름도이다.
[0048] 도 28a-도 28f는 센서 융합의 예들을 개략적으로 예시한다.
[0049] 도 29는 히드라 뉴럴 네트워크 아키텍처의 예를 개략적으로 예시한다.
[0050] 도면들 전반에 걸쳐, 레퍼런스 번호들은 참조된 엘리먼트들 간의 대응성을 표시하는 데 재사용 될 수있다. 도면들은 본원에서 설명된 예시적인 실시예들을 예시하기 위해 제공되며 본 개시내용의 범위를 제한하려는 의도는 아니다.
AR, VR 및 로컬화 시스템들의 개요
[0051] 도 1에서, 증강 현실 장면(4)이 묘사되고, 여기서 AR 기술의 사용자는 배경 내의 사람들, 나무들, 빌딩들, 및 콘크리트 플랫폼(1120)을 특징으로 하는 실세계 공원형 장소(6)를 본다. 이들 아이템들 외에도, AR 기술의 사용자는 또한, 그가 실세계 플랫폼(1120) 상에 서있는 로봇 동상(1110), 및 호박벌의 의인화인 것으로 보여지는 날고 있는 만화-형 아바타 캐릭터(2)를 보는 것을 지각하는데, 이들 엘리먼트들(2, 1110)은 실세계에 존재하지 않는다. 밝혀진 바와 같이, 인간 시지각 시스템은 매우 복잡하고, 다른 가상 또는 실세계 이미저리 엘리먼트들 사이에서 가상 이미지 엘리먼트들의 편리하고, 자연스럽고, 풍부한 프리젠테이션을 가능하게 하는 VR 또는 AR 기술을 생성하는 것은 난제시된다.
[0052] 예컨대, 머리-착용된 AR 디스플레이들(또는 헬멧-장착된 디스플레이들, 또는 스마트 안경들)은 전형적으로 사용자의 머리에 적어도 느슨하게 커플링되고, 따라서 사용자의 머리가 움직일 때 움직인다. 사용자의 머리 모션들이 디스플레이 시스템에 의해 검출되면, 디스플레이되는 데이터는 머리 포즈의 변화를 고려하기 위하여 업데이트될 수 있다.
[0053] 예로서, 머리-착용된 디스플레이를 착용하고 있는 사용자가 디스플레이 상의 3차원(3D) 오브젝트의 가상 표현을 뷰잉하고 3D 오브젝트가 나타나는 영역 주위를 걷는 경우, 그 3D 오브젝트는, 각각의 관점에 대해 재-렌더링되어 최종 사용자가 실제 공간을 점유한 오브젝트 주위를 걷고 있다는 지각을 최종 사용자에게 제공할 수 있다. 머리-착용된 디스플레이가 가상 공간(예컨대, 풍부한 가상 세계) 내의 다수의 오브젝트들을 제공하는 데 사용되면, 머리 포즈(예컨대, 사용자의 머리의 위치 및 배향)의 측정들은 사용자의 동적으로 변하는 머리 위치 및 배향과 매칭시키기 위하여 장면을 재렌더링하고 그리고 가상 공간에서의 증가된 몰입감을 제공하는 데 사용될 수 있다.
[0054] AR 시스템들에서, 머리 포즈의 검출 또는 계산은, 사용자가 감지하게 하는 방식으로 가상 오브젝트들이 실세계의 공간을 점유하는 것처럼 나타나도록, 디스플레이 시스템이 이 가상 오브젝트들을 렌더링하는 것을 가능하게 할 수 있다. 게다가, 사용자의 머리 또는 AR 시스템과 관련하여, 핸드헬드 디바이스(handheld device)("토템(totem)"으로 또한 지칭될 수 있음), 햅틱 디바이스, 또는 다른 실제 물리적 오브젝트와 같은 실제 오브젝트의 포지션 및/또는 배향의 검출은 또한, 사용자가 AR 시스템의 소정의 양상들과 효율적으로 상호작용할 수 있게 하기 위해 디스플레이 시스템이 디스플레이 정보를 사용자에게 제공하는 것을 가능하게 할 수 있다. 사용자의 머리가 실세계 주위에서 움직일 때, 가상 오브젝트들은 머리 포즈의 함수로써 재-렌더링될 수 있어, 가상 오브젝트들은 실세계에 대해 안정적으로 유지되는 것처럼 나타난다. 적어도 AR 애플리케이션들에 대해, (예컨대, 2-차원 또는 3-차원에서 물리적 오브젝트에 공간적으로 근위인 것처럼 보이도록 제공되는) 가상 오브젝트들의 물리적 오브젝트들에 대한 공간적 배치는 중요한 문제일 수 있다. 예컨대, 머리 움직임은 주변 환경들의 뷰에서 가상 오브젝트들의 배치를 상당히 복잡하게 할 수 있다. 이는, 뷰가 주변 환경의 이미지로서 캡처되고, 그런 다음, 최종 사용자에 투사되거나 또는 디스플레이되든지 간에, 또는 최종 사용자가 주변 환경들의 뷰를 직접적으로 인지하든지 간에 적용될 수 있다. 예컨대, 머리 움직임은 최종 사용자의 시야가 변하게 할 가능성이 높을 것이며, 이는 다양한 가상 오브젝트들이 최종 사용자의 시야에 디스플레이되는 위치에 대한 업데이트를 요구할 가능성이 높을 것이다. 부가적으로, 머리 움직임들은 매우 다양한 범위들 및 스피드들 내에서 발생할 수 있다. 머리 움직임 스피드는 상이한 머리 움직임들 간에 변할 수 있을 뿐만 아니라, 단일 머리 움직임의 범위 내에서 또는 이 단일 머리 움직임의 범위에 걸쳐 변할 수 있다. 예컨대, 머리 움직임 스피드는 초기에 시작 포인트로부터 (예컨대, 선형으로 또는 비선형으로) 증가할 수 있고, 종료 포인트에 도달됨에 따라 감소하여, 머리 움직임의 시작 포인트와 종료 포인트 간의 어딘가에서 최대 스피드를 획득할 수 있다. 빠른 머리 움직임들은, 최종 사용자에게 균일한 및/또는 스무스한 모션으로 나타나는 이미지들을 렌더링하기 위한 특정 디스플레이 또는 투사 기술의 능력을 훨씬 초과할 수 있다.
[0055] 머리 추적 정확도 및 레이턴시(예컨대, 사용자가 자신의 머리를 움직이는 시간과, 이미지가 업데이트되고 사용자에게 디스플레이되는 시간 간의 경과된 시간)는 VR 및 AR 시스템들에 대한 난제들이었다. 특히, 가상 엘리먼트들로 사용자의 시각적 필드(visual field)의 상당 부분을 채우는 디스플레이 시스템들의 경우, 머리-추적의 정확도가 높고 그리고 머리 모션의 최초 검출로부터 디스플레이에 의해 사용자의 시각적 시스템으로 전달되는 광의 업데이트까지 전체 시스템 레이턴시가 매우 낮은 것이 유리하다. 만약 레이턴시가 높다면, 시스템은 사용자의 전정계(vestibular system)와 시각적 감각계(visual sensory system) 간의 미스매치를 생성할 수 있고, 멀미(motion sickness) 또는 시뮬레이터 질병(simulator sickness)을 초래할 수 있는 사용자 인지 시나리오를 생성할 수 있다. 만약 시스템 레이턴시가 높다면, 가상 오브젝트들의 자명한 위치는 빠른 머리 모션들 동안 불안정하게 보일 것이다.
[0056] 머리-착용 디스플레이 시스템들 외에도, 다른 디스플레이 시스템들이 정확하고 낮은 레이턴시의 머리 포즈 검출로부터 이익을 얻을 수 있다. 이들은, 디스플레이가 사용자의 신체에 착용되는 것이 아니라, 예컨대 벽 또는 다른 표면 상에 장착되는 머리-추적 디스플레이 시스템들을 포함한다. 머리-추적 디스플레이는 장면 상의 윈도우처럼 동작할 수 있고, 사용자가 "윈도우"에 대해 자신의 머리를 움직일 때, 장면은 사용자의 변화하는 뷰포인트에 매칭하도록 재-렌더링된다. 다른 시스템들은, 머리-착용 디스플레이가 실세계 상으로 광을 투사하는 머리-착용 투사 시스템을 포함한다.
[0057] 부가적으로, 현실적 증강 현실 경험을 제공하기 위해, AR 시스템들은 사용자와 상호작용하도록 설계될 수 있다. 예컨대, 다수의 사용자들은 가상 공 및/또는 다른 가상 오브젝트들로 공 게임을 플레이할 수 있다. 한 사용자가 가상 공을 "잡을" 수 있고 그 공을 다시 다른 사용자에게 던질 수 있다. 다른 실시예에서, 제1 사용자에게 가상 공을 치기 위한 토템(예컨대, AR 시스템에 통신가능하게 커플링된 실제 배트)이 제공될 수 있다. 다른 실시예들에서, AR 사용자가 많은 옵션들 중 하나를 선택할 수 있게 하기 위해, 가상 사용자 인터페이스가 그 AR 사용자에게 제시될 수 있다. 사용자는 시스템과 상호작용하기 위해 토템들, 햅틱 디바이스들, 웨어러블 컴포넌트들을 사용할 수 있거나, 또는 단순히 가상 스크린을 터치할 수 있다.
[0058] 사용자의 머리 포즈 및 배향을 검출하는 것 및 공간에서의 실제 오브젝트들의 물리적 위치를 검출하는 것은 AR 시스템이 효과적이고 즐거운 방식으로 가상 콘텐츠를 디스플레이하게 할 수 있다. 그러나, 비록 이러한 능력들은 AR 시스템의 핵심사항(key)이지만, 달성하기 어렵다. 다른 말로, AR 시스템은 실제 오브젝트(예컨대, 사용자의 머리, 토템, 햅틱 디바이스, 웨어러블 컴포넌트, 사용자의 손 등)의 물리적 위치를 인식하고, 실제 오브젝트의 물리적 좌표들을, 사용자에게 디스플레이되고 있는 하나 이상의 가상 오브젝트들에 해당하는 가상 좌표들에 상관시킬 수 있다. 이는 일반적으로 하나 이상의 오브젝트들의 포지션 및 배향을 고속으로 추적하는 매우 정확한 센서들 및 센서 인식 시스템들을 요구한다. 현재의 접근법들은 만족스러운 스피드 또는 정밀도 표준들의 로컬화를 수행하지 않는다.
[0059] 따라서, AR 및 VR 디바이스들의 맥락에서 더 양호한 로컬화 시스템에 대한 필요성이 존재한다.
예시적인 AR 및 VR 시스템들 및 컴포넌트들
[0060] 도 2a-도 2d를 참조하면, 몇몇 일반적인 구성 옵션들이 예시된다. 도 2a-도 2d의 논의에 뒤따르는 상세한 설명의 부분들에서, 인간의 VR 및/또는 AR에 대한 고품질의 편안하게 인지되는 디스플레이 시스템을 제공하는 목적들을 다루기 위한 다양한 시스템들, 서브시스템들, 및 컴포넌트들이 제시된다.
[0061] 도 2a에 도시된 바와 같이, 사용자의 눈들 앞에 포지셔닝된 디스플레이 시스템(62)에 커플링된 프레임(64) 구조를 특징으로 하는(featuring) 머리 장착 컴포넌트(58)를 착용하고 있는 AR 시스템의 사용자(60)가 묘사된다. 스피커(66)는 묘사된 구성에서 프레임(64)에 커플링되고 사용자의 외이도(ear canal)에 인접하게 포지셔닝된다(일 실시예에서는, 도시되지 않은 다른 스피커가 사용자의 다른 외이도에 인접하게 포지셔닝되어 스테레오/성형가능 사운드 제어를 제공한다). 디스플레이(62)는, 예컨대, 유선 리드(wired lead) 또는 무선 연결(wireless connectivity)에 의해, 다양한 구성들로 장착될 수 있는 로컬 프로세싱 및 데이터 모듈(70)에 동작가능하게 커플링(68)되는데, 여기서 다양한 구성들은 예컨대, 프레임(64)에 고정식으로 부착되는 구성, 도 2b의 실시예에 도시된 바와 같이 헬멧 또는 모자(80)에 고정식으로 부착되는 구성, 헤드폰들에 내장되는 구성, 도 2c의 실시예에 도시된 바와 같은 백팩-스타일 구성으로 사용자(60)의 몸통(82)에 탈착가능하게 부착되는 구성, 또는 도 2d의 실시예에 도시된 바와 같이 벨트-커플링 스타일 구성으로 사용자(60)의 힙(84)에 탈착가능하게 부착되는 구성을 말한다.
[0062] 로컬 프로세싱 및 데이터 모듈(70)은, 전력-효율적인 프로세서 또는 제어기뿐만 아니라 디지털 메모리(예컨대, 플래시 메모리)를 포함할 수 있는데, 이들 둘 모두는 데이터의 프로세싱, 캐싱, 및 저장을 보조하기 위해 활용될 수 있으며, 이 데이터는 (a) 프레임(64)에 동작가능하게 커플링될 수 있는 센서들, 예컨대, (카메라들과 같은) 이미지 캡처 디바이스들, 마이크로폰들, 관성 측정 유닛들, 가속도계들, 컴퍼스들, GPS 유닛들, 라디오 디바이스들 및/또는 자이로들(gyros)로부터 캡처되고, 그리고/또는 (b) 이러한 프로세싱 또는 리트리벌 이후 가능하게는 디스플레이(62)로의 패시지(passage)를 위해, 원격 프로세싱 모듈(72) 및/또는 원격 데이터 저장소(74)를 사용하여 획득되고 그리고/또는 프로세싱된다. 로컬 프로세싱 및 데이터 모듈(70)은, 예컨대, 유선 또는 무선 통신 링크들을 통해서, 원격 프로세싱 모듈(72) 및 원격 데이터 저장소(74)에 동작가능하게 커플링(76, 78)될 수 있으며, 그에 따라, 이러한 원격 모듈들(72, 74)은 서로 동작가능하게 커플링되고, 로컬 프로세싱 및 데이터 모듈(70)에 대한 자원들로서 이용가능하다.
[0063] 일 실시예에서, 원격 프로세싱 모듈(72)은 데이터 및/또는 이미지 정보를 분석하고 프로세싱하도록 구성된 하나 이상의 비교적 강력한 프로세서들 또는 제어기들을 포함할 수 있다. 일 실시예에서, 원격 데이터 저장소(74)는, "클라우드" 자원 구성의 인터넷 또는 다른 네트워킹 구성을 통해 이용가능할 수 있는, 비교적 대규모(large-scale) 디지털 데이터 저장 설비를 포함할 수 있다. 일 실시예에서, 로컬 프로세싱 및 데이터 모듈에 모든 데이터가 저장되고 모든 컴퓨테이션(computation)이 수행되어, 임의의 원격 모듈들로부터의 완전히 자율적인 사용이 허용된다.
[0064] 이제 도 3을 참조로, 개략도는, 도 3에 도시된 바와 같이, 예컨대, 사용자의 머리(120)에 커플링된 머리 장착 컴포넌트(58) 및 사용자의 벨트(308)에 커플링된 로컬 프로세싱 및 데이터 모듈(70)(따라서, 컴포넌트(70)는 또한 "벨트 팩(70)"으로 지칭될 수 있음)에 상주할 수 있는, 클라우드 컴퓨팅 자산들(46)과 로컬 프로세싱 자산들 사이의 조정을 예시한다. 일 실시예에서, 하나 이상의 서버 시스템들(110)과 같은 클라우드(46) 자산들은 예컨대, 유선 또는 무선 네트워킹(이동성을 위해서는 무선이 선호되고, 요구될 수 있는 특정 고-대역폭 또는 고-데이터-볼륨 전송들에 대해서는 유선이 선호됨)을 통해, 위에 설명된 바와 같이, 사용자의 머리(120) 및 벨트(308)에 커플링되는, 프로세서 및 메모리 구성들과 같은 로컬 컴퓨팅 자산들 중 하나 또는 이 둘 모두에 직접적으로(40, 42) 동작가능하게 커플링(115)된다. 사용자에게 로컬인 이러한 컴퓨팅 자산들은 도 8을 참조로 아래에 논의되는 유선 커플링(68)과 같은 유선 및/또는 무선 연결성 구성들(44)을 통해 서로에게도 역시 동작 가능하게 커플링될 수 있다. 일 실시예에서, 사용자의 머리(120)에 장착된 저-관성 및 작은 사이즈 서브시스템을 유지하기 위해, 사용자와 클라우드(46) 사이의 1차 전송은 벨트(308)에 장착된 서브시스템과 클라우드 사이의 링크를 통해 이루어질 수 있고, 머리(120) 장착 서브시스템은 예컨대, 개인 컴퓨팅 주변장치 연결 애플리케이션들에 현재 이용되는 것과 같은 "UWB(ultra-wideband)" 연결성과 같은 무선 연결을 이용하여 주로 벨트(308)-기반 서브시스템에 데이터-테더링(tether)된다.
[0065] 효율적인 로컬 및 원격 프로세싱 코디네이션, 및 사용자를 위한 적합한 디스플레이 디바이스, 이를테면, 도 2a에 도시된 사용자 인터페이스 또는 사용자 디스플레이 시스템(62), 또는 그의 변동들을 이용하여, 사용자의 현재 실제 또는 가상 위치와 관련되는 하나의 세계의 양상들은 사용자에게 전송 또는 "전달"되고 효율적인 방식으로 업데이트될 수 있다. 다른 말로, 세계의 맵은, 사용자의 AR 시스템 상에 부분적으로 상주하고 클라우드 자원들에 부분적으로 상주할 수 있는 저장 위치에서 계속해서 업데이트될 수 있다. 맵(또한 "통과가능한 세계 모델(passable world model)"로 지칭됨)은, 래스터 이미저리, 3-D 및 2-D 포인트들, 실세계에 관한 파라미터 정보 및 다른 정보를 포함하는 대형 데이터베이스일 수 있다. 점점 더 많은 AR 사용자들이 자신들의 실제 환경에 관한 정보를 (예컨대, 카메라들, 센서들, IMU들 등을 통해) 계속해서 캡처할수록, 맵은 점점 더 정확하고 완벽해진다.
[0066] 클라우드 컴퓨팅 자원들 상에 상주할 수 있고 그리고 클라우드 컴퓨팅 자원들로부터 분산될 수 있는 하나의 세계 모델이 존재하는 앞서 설명된 바와 같은 구성으로, 이러한 세계는 실시간 비디오 데이터 등을 전달하도록 시도하는 것보다 바람직한 비교적 낮은 대역폭 형태로 하나 이상의 사용자들에게 "통과가능"할 수 있다. 동상(예컨대, 도 1에 도시된 바와 같음) 근처에 서 있는 사람의 증강된 경험은 클라우드-기반 세계 모델에 의해 알려질 수 있으며, 이의 서브세트는 사람들 및 사람들의 로컬 디스플레이 디바이스로 전달되어 뷰를 완성할 수 있다. 데스크 상에 놓여 있는 개인 컴퓨터와 같이 단순할 수 있는, 원격 디스플레이 디바이스에 앉아 있는 사람은, 클라우드로부터 동일한 정보 섹션을 효율적으로 다운로드하여 이를 자신의 디스플레이 상에 렌더링할 수 있다. 사실상, 동상 근처의 공원에 실제로 있는 한 사람은 그 공원에서의 산책을 위해 멀리 떨어져 있는 친구를 부를 수 있는데, 이 친구는 가상 및 증강 현실을 통해 합류(join)한다. 시스템은, 거리가 어디에 있는지, 여기에서 나무들이 있는지, 동상이 어디에 있는지를 알 필요가 있을 것이지만 ― 합류한 친구는, 클라우드 상의 그 정보를 사용하여, 시나리오의 양상들을 클라우드로부터 다운로드할 수 있고, 그런다음 실제로 공원에 있는 사람에 비해 현지의 증강 현실로서 함께 걷기 시작할 수 있다.
[0067] 3-D(three-dimensional) 포인트들이 환경으로부터 캡처될 수 있고, 그리고 이들 이미지들 또는 포인트들을 캡처하는 카메라들의 포즈(예컨대, 세계에 대한 벡터 및/또는 본래의 포지션 정보)가 결정될 수 있어서, 이들 포인트들 또는 이미지들은 이 포즈 정보로 "태깅"되거나, 또는 이와 연관될 수 있다. 그런다음, 제2 카메라에 의해 캡처된 포인트들은 제2 카메라의 포즈를 결정하는 데 활용될 수 있다. 다른 말로, 제1 카메라로부터 태깅된 이미지들과의 비교들에 기반하여 제2 카메라를 배향 및/또는 로컬화할 수 있다. 그런다음, 이 지식은 (그런다음, 주위에 정합된 2개의 카메라들이 있기 때문에) 텍스처들을 추출하고, 맵들을 만들고, 그리고 실세계의 가상 카피를 생성하는 데 활용될 수 있다.
[0068] 따라서, 베이스 레벨에서, 일 실시예에서, 사람-착용 시스템은 3-D 포인트들 및 포인트들을 생성하는 2-D 이미지들 둘 모두를 캡처하는 데 활용될 수 있고, 이들 포인트들 및 이미지들은 클라우드 저장 및 프로세싱 자원으로 전송될 수 있다. 이들은 또한, 임베딩된 포즈 정보를 사용하여 로컬로 캐싱될 수 있고(예컨대, 태깅된 이미지들을 캐싱함); 따라서 클라우드는 3-D 포인트들과 함께, (예컨대, 이용가능한 캐시 내에) 준비 태깅된 2-D 이미지들(예컨대, 3-D 포즈로 태깅됨)을 가질 수 있다. 사용자가 무언가 동적인 것을 관찰중이면, 그 사용자는 또한, 모션에 관련된 부가적인 정보를 클라우드까지 전송할 수 있다(예컨대, 다른 사람의 얼굴을 보는 경우, 사용자는 얼굴의 텍스처 맵을 취하고, 그리고 주변 세계가 기본적으로 달리 정적이더라도 최적화된 주파수로 이를 푸시 업(push up)할 수 있다. 오브젝트 인식기들 및 통과가능한 세계 모델에 대한 더 많은 정보는, "System and method for augmented and virtual reality"이란 명칭의 미국 특허 공개 번호 제 2014/0306866호(이 공개물은 그 전체가 인용에 의해 본원에 포함됨), 및 플로리다주 플랜테이션의 Magic Leap, Inc.에 의해 개발된 것들과 같은 증강 및 가상 현실 시스템들에 관련된 하기의 부가적인 개시내용들: 미국 특허 공개 번호 제 2015/0178939호; 미국 특허 공개 번호 제 2015/0205126호; 미국 특허 공개 번호 제 2014/0267420호; 미국 특허 공개 번호 제 2015/0302652호; 미국 특허 공개 번호 제 2013/0117377호; 및 미국 특허 공개 번호 제 2013/0128230호(이들 공개물 각각은 이로써 그 전체가 인용에 의해 본원에 포함됨)에서 발견될 수 있다.
[0069] GPS 및 다른 로컬화 정보는 그런 프로세싱에 대한 입력들로서 활용될 수 있다. 사용자의 머리, 토템들, 손 제스처들, 햅틱 디바이스들 등의 매우 정확한 로컬화는 적합한 가상 콘텐츠를 사용자에게 디스플레이하는 데 유리할 수 있다.
[0070] 머리-장착 디바이스(58)는 디바이스의 착용자의 눈들 앞에 포지셔닝가능한 디스플레이들을 포함할 수 있다. 디스플레이들은 광 필드 디스플레이들을 포함할 수 있다. 디스플레이들은 복수의 깊이 평면들에 있는 이미지들을 착용자에게 제시하도록 구성될 수 있다. 디스플레이들은 회절 엘리먼트들을 가진 평면형 도파관들을 포함할 수 있다. 본원에서 개시된 실시예들 중 임의의 실시예와 함께 사용가능한 디스플레이들, 머리-장착 디바이스들, 및 다른 AR 컴포넌트들의 예들은 미국 특허 공개 번호 제 2015/0016777호에서 설명된다. 미국 특허 공개 번호 제 2015/0016777호는 이로써 그 전체가 인용에 의해 본원에 포함된다.
전자기 로컬화의 예들
[0071] 높은 정밀도 로컬화를 달성하기 위한 하나의 접근법은 사용자의 AR 머리 세트, 벨트 팩 및/또는 다른 보조적인 디바이스들(예컨대, 토템들, 햅틱 디바이스들, 게이밍 기구들 등) 상에 전략적으로 배치된 EM(electromagnetic) 센서들과 커플링된 전자기장(EN field)의 사용을 수반할 수 있다. 전자기 추적 시스템들은 전형적으로 적어도 전자기장 방출기 및 적어도 하나의 전자기장 센서를 포함한다. 전자기장 방출기는 AR 헤드셋의 착용자의 환경에서 알려진 공간적 (및/또는 시간적) 분포를 가진 전자기장을 생성한다. 전자기장 센서들은 센서들의 위치들에서 생성된 전자기장들을 측정한다. 이들 측정들 및 생성된 전자기장의 분포 지식에 기반하여, 방출기에 관하여 필드 센서의 포즈(예컨대, 포지션 및/또는 배향)가 결정될 수 있다. 그에 따라서, 센서가 부착된 오브젝트의 포즈가 결정될 수 있다.
[0072] 이제도 4를 참조로, 전자기 추적 시스템(예컨대, 이를테면, 버몬트주 콜체스터의 Biosense division of Johnson & Johnson Corporation, Polhemus, Inc.와 같은 조직들에 의해 개발된 것, 캘리포니아주 로스 가토스시의 Sixense Entertainment, Inc.에 의해 제조된 것 및 다른 추적 회사들에 의해 제조된 것)의 예시적인 시스템 다이어그램이 예시된다. 하나 이상의 실시예들에서, 전자기 추적 시스템은 알려진 자기장을 방출하도록 구성된 전자기장 방출기(402)를 포함한다. 도 4에 도시된 바와 같이, 전자기장 방출기는 전력을 방출기(402)에 제공하기 위한 전력 공급부(예컨대, 전기 전류, 배터리들 등)에 커플링될 수 있다.
[0073] 하나 이상의 실시예들에서, 전자기장 방출기(402)는 자기장들을 생성하는 몇몇의 코일들(예컨대, X, Y 및 Z 방향들로 필드를 생성하기 위해 서로 수직으로 포지셔닝된 적어도 3개의 코일들)을 포함한다. 이런 자기장은 좌표 공간(예컨대, X-Y-Z 데카르트 좌표 공간)을 설정하는 데 사용된다. 이것은 시스템이 알려진 자기장에 관하여 센서들의 포지션(예컨대, (X, Y, Z) 포지션)을 맵핑할 수 있게 하고, 그리고 센서들의 포지션 및/또는 배향을 결정하는 것을 돕는다. 하나 이상의 실시예들에서, 전자기 센서들(404a, 404b 등)은 하나 이상의 실제오브젝트들에 부착될 수 있다. 전자기 센서들(404)은 방출된 전자기장을 통해 전류를 유도할 수 있는 더 작은 코일들을 포함할 수 있다. 일반적으로, "센서" 컴포넌트들(404)은, 작은 코일들 또는 루프들, 이를테면 큐브 또는 다른 컨테이너와 같은 작은 구조 내에서 함께 커플링되고, 방출기(402)에 의해 방출된 자기장으로부터 인입하는 자속을 캡처하도록 포지셔닝/배향되는, 3개가 상이하게-배향된(예컨대, 이를테면, 서로에 대해 직교하게 배향된) 한 세트의 코일들을 포함할 수 있고, 그리고 이들 코일들을 통해 유도된 전류들을 비교하고, 그리고 서로에 대한 코일들의 상대적 포지셔닝 및 배향을 앎으로써, 방출기에 대한 센서의 상대적 포지션 및 배향이 계산될 수 있다.
[0074] 전자기 추적 센서들에 동작가능하게 커플링된 IMU(inertial measurement unit) 컴포넌트들 및 코일들의 거동에 관련된 하나 이상의 파라미터들은 전자기장 방출기가 커플링되는 좌표계에 대한 센서(및 센서가 부착된 오브젝트)의 포지션 및/또는 배향을 검출하기 위해 측정될 수 있다. 하나 이상의 실시예들에서, 다수의 센서들은 좌표 공간 내의 센서들 각각의 포지션 및 배향을 검출하기 위해 전자기 방출기와 관련하여 사용될 수 있다. 전자기 추적 시스템은 3개의 방향들(예컨대, X, Y 및 Z 방향들), 및 추가로 2개 또는 3개의 배향 각도들에서의 포지션들을 제공할 수 있다. 하나 이상의 실시예들에서, IMU의 측정들은 센서들의 포지션 및 배향을 결정하기 위해 코일의 측정들과 비교될 수 있다. 하나 이상의 실시예들에서, 다양한 다른 데이터 소스들, 이를테면 카메라들, 깊이 센서들, 및 다른 센서들과 함께, EM(electromagnetic) 데이터 및 IMU 데이터 둘 모두는 포지션 및 배향을 결정하기 위해 조합될 수 있다. 이 정보는 제어기(406)에 송신(예컨대, 무선 통신, 블루투스 등)될 수 있다. 하나 이상의 실시예들에서, 포즈(또는 포지션 및 배향)는 종래의 시스템들에서 비교적 높은 리프레시 레이트(refresh rate)로 리포트될 수 있다. 통상적으로, 전자기장 방출기는 비교적 안정적이고 큰 오브젝트, 이를테면 테이블, 수술대, 벽 또는 천장에 커플링되고, 그리고 하나 이상의 센서들은 더 작은 오브젝트들, 이를테면 의료 디바이스들, 핸드헬드 게이밍 컴포넌트들 등에 커플링된다. 대안적으로, 도 6을 참조로 아래에서 설명되는 바와 같이, 전자기 추적 시스템의 다양한 특징들은 더 안정적인 글로벌 좌표계과 관련하여 공간에서 움직이는 2개의 오브젝트들 간의 포지션 및/또는 배향의 변화들 또는 델타들이 추적될 수 있는 구성을 생성하는 데 이용될 수 있고; 다른 말로, 전자기 추적 시스템의 변형이 머리-장착 컴포넌트와 핸드-헬드 컴포넌트 간의 포지션 및 배향 델타를 추적하는 데 활용될 수 있는 반면, 글로벌 좌표계(사용자에게 로컬적인 룸 환경을 말함)에 관하여 머리 포즈가, 이를테면 시스템의 머리 장착 컴포넌트에 커플링될 수 있는 외향 캡처링 카메라들을 사용하는 "SLAM"(simultaneous localization and mapping) 기법들에 의해 달리 결정되는 구성이 도 6에 도시된다.
[0075] 제어기(406)는 전자기장 생성기(402)를 제어할 수 있고, 그리고 또한 다양한 전자기 센서(404)로부터 데이터를 캡처할 수 있다. 시스템의 다양한 컴포넌트들이 임의의 전기-기계적인 또는 무선/블루투스 수단을 통해 서로 커플링될 수 있다는 것이 인지되어야 한다. 제어기(406)는 또한 알려진 자기장, 및 자기장에 대한 좌표 공간에 관한 데이터를 포함할 수 있다. 그런다음, 이 정보는 알려진 전자기장에 대응하는 좌표 공간에 관련하여 센서들의 포지션 및 배향을 검출하는 데 사용된다.
[0076] 전자기 추적 시스템들의 하나의 장점은, 이들이 최소 레이턴시 및 고해상도로 매우 정확한 추적 결과를 생성한다는 점이다. 부가적으로, 전자기 추적 시스템은 반드시 광학 추적기들에 의존하는 것은 아니며, 사용자의 시선(line-of-vision)에 있지 않은 센서들/오브젝트들이 쉽게 추적될 수 있다.
[0077] 전자기장(v)의 세기가 코일 송신기(예컨대, 전자기장 방출기(402))로부터의 거리(r)의 3차 함수로써 강하한다는 것이 인지되어야 한다. 따라서, 알고리즘은 전자기장 방출기로부터 떨어진 거리에 기반하여 사용될 수 있다. 제어기(406)는 전자기장 방출기로부터 떨어진 가변 거리들에 있는 센서/오브젝트의 포지션 및 배향을 결정하기 위해 그런 알고리즘들로 구성될 수 있다. 센서가 전자기 방출기로부터 더 멀리 움직임에 따라 전자기장의 세기가 빠르게 감소함을 고려해 볼 때, 정확도, 효율성 및 낮은 레이턴시 측면에서 최상의 결과들은 더 가까운 거리들에서 달성될 수 있다. 전형적인 전자기 추적 시스템들에서, 전자기장 방출기는 전기 전류(예컨대, 전력 공급부에 플러그-인)에 의해 전력을 공급받으며, 전자기장 방출기로부터 20ft 반경 이내에 떨어져 로케이팅되는 센서들을 갖는다. AR 애플리케이션들을 포함하는 많은 애플리케이션들에서는 센서들과 전자기장 방출기 간의 더 짧은 반경이 보다 바람직할 수 있다.
[0078] 이제도 5를 참조로, 전형적인 전자기 추적 시스템의 기능을 설명하는 예시적인 흐름도가 간략히 설명된다. 502에서, 알려진 전자기장이 방출된다. 하나 이상의 실시예들에서, 자기장 방출기는 자기장들을 생성할 수 있으며, 여기서 각각의 코일은 하나의 방향(예컨대, X, Y 또는 Z)으로 전기장을 생성할 수 있다. 자기장들은 임의의 파형으로 생성될 수 있다. 하나 이상의 실시예들에서, 각각의 축들을 따른 자기장 컴포넌트는 다른 방향들을 따른 다른 자기장 컴포넌트들과 약간 상이한 주파수로 진동할 수 있다. 504에서, 전자기장에 대응하는 좌표 공간이 결정될 수 있다. 예컨대, 도 4의 제어부(406)는 전자기장에 기반하여 방출기 주위 좌표 공간을 자동으로 결정할 수 있다. 506에서, (알려진 오브젝트에 부착될 수 있는) 센서들에 있는 코일들의 거동이 검출될 수 있다. 예컨대, 코일들에서 유도된 전류가 계산될 수 있다. 다른 실시예들에서, 코일들의 회전, 또는 임의의 다른 정량화가능(quantifiable) 거동이 추적 및 측정될 수 있다. 508에서, 이러한 거동은 센서(들) 및/또는 알려진 오브젝트의 포지션 또는 배향을 검출하는 데 사용될 수 있다. 예컨대, 제어기(406)는 센서들에 있는 코일들의 거동을 다양한 포지션들 또는 배향들에 상관시키는 맵핑 테이블을 참고(consult)할 수 있다. 이들 계산들에 기반하여, 센서들의 배향과 함께 좌표 공간에서의 포지션이 결정될 수 있다.
[0079] AR 시스템들의 맥락에서, 전자기 추적 시스템의 하나 이상의 컴포넌트들은 모바일 컴포넌트들의 정확한 추적을 가능하게 하도록 수정될 필요가 있을 수 있다. 위에서 설명된 바와 같이, 사용자의 머리 포즈 및 배향을 추적하는 것은 많은 AR 애플리케이션들에서 원할 수 있다. 사용자의 머리 포즈 및 배향의 정확한 결정은 AR 시스템이 올바른 가상 콘텐츠를 사용자에게 디스플레이할 수 있게 한다. 예컨대, 가상 장면은 실제 빌딩 뒤에 숨어 있는 몬스터를 포함할 수 있다. 빌딩에 관련하여 사용자의 머리의 포즈 및 배향에 의존하여, 가상 몬스터의 뷰는, 현실적 AR 경험이 제공되도록 수정될 필요가 있을 수 있다. 또는, 토템의 포지션 및/또는 배향, 햅틱 디바이스 또는 가상 콘텐츠와 상호작용하는 일부 다른 수단은 AR 사용자가 AR 시스템과 상호작용하는 것을 가능하게 할 때 중요할 수 있다. 예컨대, 많은 게이밍 애플리케이션들에서, AR 시스템은 가상 콘텐츠에 관련하여 실제 오브젝트의 포지션 및 배향을 검출할 수 있다. 또는, 가상 인터페이스를 디스플레이할 때, 토템의 포지션, 사용자의 손, 햅틱 디바이스 또는 AR 시스템과의 상호작용을 위해 구성된 임의의 다른 실제 오브젝트는 시스템이 커맨드 등을 이해하게 하기 위해, 디스플레이된 가상 인터페이스에 관련하여 알려질 수 있다. 광학 추적을 포함하는 종래의 로컬화 방법들 및 다른 방법들은 전형적으로 높은 레이턴시 및 저해상도 문제들이 유발되고, 이는 많은 증강 현실 애플리케이션들에서 가상 콘텐츠를 렌더링하는 것을 난제시되게 한다.
[0080] 하나 이상의 실시예들에서, 도 4 및 도 5에 관련하여 논의된 전자기 추적 시스템은 방출된 전자기장에 관련하여 하나 이상의 오브젝트들의 포지션 및 배향을 검출하도록 AR 시스템에 적응될 수 있다. 전형적인 전자기 시스템들은 머리-장착 AR 디바이스들에 대해 문제가 되는 크고 부피가 큰 전자기 방출기들(예컨대, 도 4의 402)을 가지는 경향이 있다. 그러나, (예컨대, 밀리미터 범위의) 더 작은 전자기 방출기들이 AR 시스템의 맥락에서 알려진 전자기장을 방출하는 데 사용될 수 있다.
[0081] 이제 도 6을 참조로, 전자기 추적 시스템은 도시된 바와 같이 AR 시스템과 통합될 수 있고, 전자기장 방출기(602)는 핸드-헬드 제어기(606)의 부분으로서 통합된다. 제어기(606)는 AR 헤드셋(또는 벨트 팩(70))에 관하여 독립적으로 움직임가능할 수 있다. 예컨대, 사용자는 자신의 손에 제어기(606)를 홀딩할 수 있거나, 또는 제어기는 (예컨대, 사용자가 착용한 반지 또는 팔찌로서 또는 글러브의 부분으로서) 사용자의 손 또는 팔에 장착될 수 있다. 하나 이상의 실시예들에서, 핸드-헬드 제어기는 게이밍 시나리오(예컨대, 멀티-자유도 제어기)에 사용될, 또는 AR 환경에서 풍부한 사용자 경험을 제공하거나 또는 AR 시스템과의 사용자 상호작용을 허용할 토템일 수 있다. 다른 실시예들에서, 핸드-헬드 제어기는 햅틱 디바이스일 수 있다. 또 다른 실시예들에서, 전자기장 방출기는 벨트 팩(70)의 부분으로서 단순히 통합될 수 있다. 핸드-헬드 제어기(606)는 배터리(610) 또는 그 전자기장 방출기(602)에 전력을 공급하는 다른 전력 공급부를 포함할 수 있다. 전자기장 방출기(602)가 또한 다른 컴포넌트들에 관하여 전자기장 방출기(602)의 포지셔닝 및/또는 배향을 결정하는 것을 보조하도록 구성된 IMU(650) 컴포넌트를 포함하거나 또는 이 IMU(650) 컴포넌트에 커플링될 수 있다는 것이 인지되어야 한다. 이것은, 전자기장 방출기(602) 및 센서들(604) 둘 모두가 모바일인 경우들에서 특히 유리할 수 있다. 도 6의 실시예에서 도시된 바와 같이, 벨트 팩보다 오히려 핸드-헬드 제어기에 전자기장 방출기(602)를 배치하는 것은, 전자기장 방출기가 벨트 팩에서 자원들에 대해 경쟁하는 것이 아니라, 오히려 핸드-헬드 제어기(606)에서 그 자신의 배터리 소스를 사용하는 것을 보장하는 것을 돕는다. 또 다른 실시예들에서, 전자기장 방출기(602)는 AR 헤드셋 상에 배치될 수 있고 센서들(604)은 제어기(606) 또는 벨트 팩(70) 상에 배치될 수 있다.
[0082] 하나 이상의 실시예들에서, 전자기 센서들(604)은 다른 감지 디바이스들, 이를테면 하나 이상의 IMU들 또는 부가적인 자속 캡처 코일들(608)과 함께 사용자의 헤드셋 상의 하나 이상의 위치들 상에 배치될 수 있다. 예컨대, 도 6에 도시된 바와 같이, 센서들(604, 608)은 헤드셋(58)의 일측에 또는 양측에 배치될 수 있다. 이들 센서들이 오히려 작도록(그리고 따라서, 일부 경우들에서, 덜 민감할 수 있음) 제작되기 때문에, 다수의 센서들을 가지는 것은 효율성 및 정밀도를 개선할 수 있다. 하나 이상의 실시예들에서, 하나 이상의 센서들은 또한 벨트 팩(70) 또는 사용자의 신체의 임의의 다른 부분 상에 배치될 수 있다. 센서들(604, 608)은 무선으로 또는 블루투스를 통해 센서들(및 이것이 부착된 AR 헤드셋)의 포즈 및 배향을 결정하는 컴퓨팅 장치와 통신할 수 있다. 하나 이상의 실시예들에서, 컴퓨팅 장치는 벨트 팩(70)에 상주할 수 있다. 다른 실시예들에서, 컴퓨팅 장치는 헤드셋 자체, 또는 심지어 핸드-헬드 제어기(606)에 상주할 수 있다. 결국, 하나 이상의 실시예들에서, 컴퓨팅 장치는 포즈를 검출하기 위한 맵핑 데이터베이스(예컨대, 통과가능한 세계 모델, 좌표 공간 등)를 포함하여, 실제 오브젝트들 및 가상 오브젝트들의 좌표들을 결정할 수 있고, 그리고 심지어 클라우드 자원들 및 통과가능한 세계 모델에 연결될 수 있다.
[0083] 위에서 설명된 바와 같이, 종래의 전자기 방출기들은 AR 디바이스들을 위해서는 너무 부피가 클 수 있다. 그러므로, 전자기장 방출기는 통상의 시스템들과 비교할 때 더 작은 코일들을 사용하여, 컴팩트하게 제작될 수 있다. 그러나, 전자기장의 세기가 필드 방출기로부터의 거리의 3차 함수로서 감소하는 경우를 고려해볼 때, 전자기 센서들(604)과 전자기장 방출기(602) 간의 더 짧은 반경(예컨대, 약 3 내지 3.5 ft)은 도 4에서 상세하게 설명된 것과 같은 종래의 시스템들과 비교할 때 전력 소비를 감소시킬 수 있다.
[0084] 하나 이상의 실시예들에서, 이 양상은 제어기(606) 및 전자기장 방출기(602)에 전력을 공급할 수 있는 배터리(610)의 수명을 연장시키는 데 활용될 수 있다. 또는, 다른 실시예들에서, 이 양상은 전자기장 방출기(602)에서 자기장을 생성하는 코일들의 사이즈를 감소시키는 데 활용될 수 있다. 그러나, 동일한 세기의 자기장을 얻기 위해, 전력은 증가될 필요가 있을 수 있다. 이것은 핸드-헬드 제어기(606)에 컴팩트하게 피팅(fit)될 수 있는 컴팩트 전자기장 방출기 유닛(602)을 허용한다.
[0085] AR 디바이스들에 전자기 추적 시스템을 사용할 때 몇몇 다른 변화들이 이루어질 수 있다. 비록 이 포즈 리포팅 레이트가 다소 양호할지라도, AR 시스템들은 훨씬 더 효율적인 포즈 리포팅 레이트를 요구할 수 있다. 이 목적을 위해, IMU-기반 포즈 추적이 (부가적으로 또는 대안적으로) 센서들에 사용될 수 있다. 유리하게, IMU들은 포즈 검출 프로세스의 효율성을 증가시키기 위해 가능한 한 안정적인 상태를 계속 유지할 수 있다. IMU들은, 이들이 50-100 밀리초까지 안정적인 상태를 계속 유지하도록 제작될 수 있다. 일부 실시예들이, 포즈 업데이트들이 10 내지 20 Hz의 레이트로 리포트되는 것을 가능하게 할 수 있는 외측 포즈 추정기 모듈(예컨대, IMU들은 시간에 걸쳐 드리프트(drift)할 수 있음)을 활용할 수 있다는 것이 인지되어야 한다. IMU들을 합리적인 레이트로 안정적인 상태로 유지함으로써, 포즈 업데이트들의 레이트는 (종래의 시스템들에서의 더 높은 주파수들과 비교할 때) 10 내지 20 Hz로 현격하게 감소될 수 있다.
[0086] 만약 전자기 추적 시스템이 예컨대 10% 듀티 사이클(예컨대, 단지 100 밀리초마다 실측 자료(ground truth)에 대해서 핑잉(pinging))로 실행될 수 있으면, 이것은 AR 시스템에서 전력을 절약하기 위한 다른 방식일 것이다. 이것은, 전자기 추적 시스템이 포즈 추정치를 생성하기 위해 매 100 밀리초 중에서 매 10 밀리초마다 깨어나는 것을 의미할 것이다. 이는 바로 전력 소비 절약으로 전환되며, 이는 결국 AR 디바이스의 사이즈, 배터리 수명 및 비용에 영향을 미칠 수 있다.
[0087] 하나 이상의 실시예들에서, 듀티 사이클의 이런 감소는 단지 하나의 핸드-헬드 제어기보다 오히려 2개의 핸드-헬드 제어기들(도시되지 않음)을 제공함으로써 전략적으로 활용될 수 있다. 예컨대, 사용자는 2개의 토템들 등을 요구하는 게임을 플레이할 수 있다. 또는, 멀티-사용자 게임에서, 2명의 사용자들은 게임을 플레이하기 위해 그 자신의 토템들/핸드-헬드 제어기들을 가질 수 있다. 1개의 제어기보다는 오히려 2개의 제어기들(예컨대, 각각의 손에 대해 대칭적인 제어기들)이 사용될 때, 제어기들은 오프셋 듀티 사이클들로 동작할 수 있다. 동일한 개념은 또한 예컨대, 멀티-플레이어 게임을 플레이하는 2명의 상이한 사용자들에 의해 활용되는 제어기들에 적용될 수 있다.
[0088] 이제 도 7을 참조로, AR 디바이스들의 맥락에서 전자기 추적 시스템을 설명하는 예시적인 흐름도가 설명된다. 702에서, 휴대용(예컨대, 핸드-헬드) 제어기는 자기장을 방출한다. 704에서, 전자기 센서들(헤드셋, 벨트 팩 등에 배치됨)은 자기장을 검출한다. 706에서, 헤드셋/벨트의 포즈(예컨대, 포지션 또는 배향)는 센서들에 있는 코일들/IMU들의 거동에 기반하여 결정된다. 708에서, 포즈 정보는 (예컨대, 벨트 팩 또는 헤드셋에 있는) 컴퓨팅 장치로 전달된다. 710에서, 선택적으로, 맵핑 데이터베이스(예컨대, 통과가능한 세계 모델)는 (예컨대, 헤드셋/벨트의 포즈에 대해 결정된) 실제 세계 좌표들을 가상 세계 좌표들과 상관시키기 위해 참고될 수 있다. 712에서, 가상 콘텐츠는 AR 헤드셋에서 사용자에게 전달되고 (예컨대, 본원에서 설명된 광 필드 디스플레이들을 통해) 사용자에게 디스플레이될 수 있다. 위에서 설명된 흐름도가 예시적인 목적들만을 위한 것이고, 제한으로 읽혀지지 않아야 하는 것이 인지되어야 한다.
[0089] 유리하게, 도 6에서 약술된 것과 유사한 전자기 추적 시스템을 사용하는 것은 포즈 추적(예컨대, 머리 포지션 및 배향, 토템들의 포지션 및 배향, 및 다른 제어기들)을 가능하게 한다. 이것은 AR 시스템이, 광학 추적 기법들과 비교할 때 더 높은 정확도, 및 매우 낮은 레이턴시로 (결정된 포즈에 적어도 부분적으로 기반하여) 가상 콘텐츠를 투사할 수 있게 한다.
[0090] 도 8을 참조로, 많은 감지 컴포넌트들을 특징으로 하는 시스템 구성이 예시된다. 머리 장착 웨어러블 컴포넌트(58)는, 도 9a-도 9f를 참조로 아래에서 설명된 바와 같이, 여기서 컨트롤 및 퀵 릴리즈(control and quick release) 모듈(86)을 또한 특징으로 하는 물리적 멀티코어 리드를 사용하여 로컬 프로세싱 및 데이터 모듈(70), 이를테면 벨트 팩에 동작가능하게 커플링(68)되는 것으로 도시된다. 로컬 프로세싱 및 데이터 모듈(70)은 여기서 무선 연결, 이를테면 저전력 블루투스에 의해 핸드 헬드 컴포넌트(606)에 동작가능하게 커플링(100)되고; 핸드 헬드 컴포넌트(606)는 또한 이를테면 무선 연결, 이를테면 저전력 블루투스에 의해 머리 장착 웨어러블 컴포넌트(58)에 직접적으로 동작가능하게 커플링(94)될 수 있다. 일반적으로 IMU 데이터가 다양한 컴포넌트들의 포즈 검출을 조정하기 위해 전달되는 경우, 이를테면 수백 또는 수천의 사이클들/초 이상의 범위의 고주파수 연결이 원해지고; 초당 수십 사이클들은 이를테면 센서(604) 및 송신기(602) 페어링들에 의한 전자기 로컬화 감지에 적절할 수 있다. 또한, 벽(8)과 같은 사용자 주위 실세계에 있는 고정된 오브젝트들을 대표하는 글로벌 좌표계(10)가 도시된다.
[0091] 클라우드 자원들(46)은 또한, 각각, 로컬 프로세싱 및 데이터 모듈(70)에, 머리 장착 웨어러블 컴포넌트(58)에, 벽(8) 또는 글로벌 좌표계(10)에 관하여 고정된 다른 아이템에 커플링될 수 있는 자원들에 동작가능하게 커플링(42, 40, 88, 90)될 수 있다. 벽(8)에 커플링되거나 또는 글로벌 좌표계(10)에 관하여 알려진 포지션들 및/또는 배향들을 가진 자원들은 무선 트랜시버(114), 전자기 방출기(602) 및/또는 수신기(604), 주어진 타입의 방사선을 방출 또는 반사하도록 구성된 비콘 또는 반사기(112), 이를테면 적외선 LED 비콘, 셀룰러 네트워크 트랜시버(110), RADAR 방출기 또는 검출기(108), LIDAR 방출기 또는 검출기(106), GPS 트랜시버(118), 알려진 검출가능한 패턴(122)을 가진 포스터(poster) 또는 마커(marker), 및 카메라(124)를 포함할 수 있다.
[0092] 머리 장착 웨어러블 컴포넌트(58)는 카메라(124) 검출기들을 보조하도록 구성된 조명 방출기들(130), 이를테면 적외선 카메라(124)용 적외선 방출기들(130) 외에, 예시된 바와 같은 유사한 컴포넌트들을 특징으로 하고; 또한 머리 장착 웨어러블 컴포넌트(58)는 머리 장착 웨어러블 컴포넌트(58)의 프레임 또는 기계적 플랫폼에 고정적으로 커플링되고 컴포넌트들, 이를테면 전자기 수신기 센서들(604) 또는 디스플레이 엘리먼트들(62) 간의 그런 플랫폼의 휨을 결정하도록 구성될 수 있는 하나 이상의 스트레인 게이지(strain gauge)들(116)을 특징으로 하고, 여기서 이를테면 플랫폼의 얇아진 부분, 이를테면 도 8에 묘사된 안경형 플랫폼상의 코 위의 부분에서 플랫폼의 벤딩(bending)이 발생하였는지를 이해하는 것은 중요할 수 있다.
[0093] 머리 장착 웨어러블 컴포넌트(58)는 또한 프로세서(128) 및 하나 이상의 IMU들(102)을 특징으로 한다. 컴포넌트들의 각각은 바람직하게 프로세서(128)에 동작가능하게 커플링된다. 유사한 컴포넌트들을 특징으로 하는 핸드헬드 컴포넌트(606) 및 로컬 프로세싱 및 데이터 모듈(70)이 예시된다. 도 8에 도시된 바와 같이, 너무 많은 감지 및 연결성 수단에 의해, 그런 시스템은 무겁고, 전력 과소비형이고, 크고 그리고 비교적 값비쌀 가능성이 있다. 그러나, 예시적인 목적들을 위해, 그런 시스템은 매우 고레벨의 연결성, 시스템 컴포넌트 통합, 및 포지션/배향 추적을 제공하는 데 활용될 수 있다. 예컨대, 그런 구성으로 인해, 다양한 메인 모바일 컴포넌트들(58, 70, 606)은 WiFi, GPS 또는 셀룰러 신호 삼각 측량을 사용하여 글로벌 좌표계에 상대적인 포지션의 측면에서 로컬화될 수 있고; 비콘들, (본원에서 설명된 바와 같은) 전자기 추적, RADAR 및 LIDAR 시스템들은 또 다른 위치 및/또는 배향 정보 및 피드백을 제공할 수 있다. 마커들 및 카메라들은 또한 상대적 및 절대적 포지션 및 배향에 관한 추가 정보를 제공하는 데 활용될 수 있다. 예컨대, 다양한 카메라 컴포넌트들(124), 이를테면 머리 장착 웨어러블 컴포넌트(58)에 커플링된 것으로 도시된 것들은, 컴포넌트(58)가 어디에 있는지 및 다른 컴포넌트들에 관하여 어떻게 배향되는지를 결정하기 위해 동시적인 로컬화 및 맵핑 프로토콜들, 즉 "SLAM"에 활용될 수 있는 데이터를 캡처하는 데 활용될 수 있다.
[0094] 도 9a-도 9f를 참조하면, 제어 및 퀵 릴리스 모듈(86)의 다양한 양상들이 묘사된다. 도 9a를 참조하면, 2개의 외부 하우징 컴포넌트들(132, 134)은 기계적 래칭(latching)으로 강화될 수 있는 자기 커플링 구성을 사용하여 함께 커플링된다. 연관된 시스템의 동작을 위한 버튼들(136), 예컨대, 온/오프 버튼(원형 버튼) 및 업/다운 볼륨 제어들(삼각형 버튼들)이 포함될 수 있다. 모듈(86)의 대향 단부들은 도 8에 도시된 바와 같이 로컬 프로세싱 및 데이터 모듈(70)과 디스플레이(62) 사이에서 이어지는 전기 리드들에 연결될 수 있다.
[0095] 도 9b는 버튼들(136) 및 아래 놓인 최상부 인쇄 회로 보드(138)를 도시하는, 외부 하우징(132)이 제거된 부분 절취도를 예시한다. 도 9c를 참조하면, 버튼들(136) 및 아래 놓인 최상부 인쇄 회로 보드(138)가 제거되어, 암형 접촉 핀 어레이(140)가 가시적이다. 도 9d를 참조하면, 하우징(134)의 대향 부분이 제거되어, 더 낮은 인쇄 회로 보드(142)가 가시적이다. 더 낮은 인쇄 회로 보드(142)가 제거되어, 도 9e에 도시된 바와 같이, 수형 접촉 핀 어레이(144)가 가시적이다.
[0096] 도 9f의 단면도를 참조하면, 수형 핀들 또는 암형 핀들 중 적어도 하나는, 각각의 핀의 길이방향 축을 따라 눌려질 수 있게 스프링-로딩되도록 구성될 수 있고; 핀들은 "포고(pogo) 핀들"로 지칭될 수 있고 그리고 일반적으로 높은 전도성 재료, 이를테면 구리 또는 금을 포함한다. 전도성 재료는 핀들 상에 도금(예컨대, 담금 또는 전기도금)될 수 있고 전도성 재료의 폭은 예컨대, 일부 경우들에서 적어도 25 μm의 금일 수 있다. 어셈블링될 때, 예시된 구성은 46개의 수형 핀들을 46개의 대응하는 암형 핀들과 짝을 이루고, 그리고 전체 어셈블리는 2개의 하우징들(132, 134)을 떨어지게 수동으로 당기고 그리고 핀 어레이들(140, 144)의 둘레 주위로 배향된 북극 및 남극 자석들을 사용하여 발현될 수 있는 자기 인터페이스(146) 로드를 극복함으로써 퀵-릴리스 디커플링(decouple)될 수 있다. 일 실시예에서, 46개의 포고 핀들을 압축함으로 인한 대략 2 kg 로드는 자기 인터페이스(146)에 의해 제공된 약 4 kg의 폐쇄 유지보수력으로 상쇄된다. 어레이에서 핀들은 약 1.3mm만큼 분리될 수 있고, 그리고 핀들은 일 실시예에서, 다양한 타입들의 전도성 라인들, 이를테면 USB 3.0, HDMI 2.0(디지털 비디오용), 및 I2S(디지털 오디오용), 고속 직렬 데이터용 TMDS(transition-minimized differential signaling), GPIO(general purpose input/output) 및 모바일 인터페이스(예컨대, MIPI) 구성들 같은 인터페이스들을 지원하기 위한 연선들 또는 다른 조합들, 배터리/전력 연결부들, 및 약 4 암페어 및 5 볼트까지를 위해 구성된 고전류 아날로그 라인들 및 접지들에 동작가능하게 커플링될 수 있다.
[0097] 일 실시예에서, 자기 인터페이스(146)는 일반적으로 직사각형이고 핀 어레이들(140, 144)을 둘러싸고 그리고 약 1 mm 폭 및 4.8 mm 높이이다. 직사각형 자석의 내부 직경은 약 14.6 mm이다. 수형 핀 어레이(144)를 둘러싸는 자석은 제1 극성(예컨대, 북극)을 가질 수 있고, 암형 핀 어레이(140)를 둘러싸는 자석은 제2(반대) 극성(예컨대, 남극)을 가질 수 있다. 일부 경우들에서, 각각의 자석은 북극 및 남극 극성들의 혼합물을 포함하고, 대향 자석은 대응하는 반대 극성들을 가져서, 하우징들(132, 134)을 함께 홀딩하는 것을 돕도록 자기 인력을 제공한다.
[0098] 어레이들(140, 144)에서 포고 핀들은 4.0 내지 4.6 mm 범위의 높이들 및 0.6 내지 0.8 mm 범위의 직경들을 갖는다. 어레이의 상이한 핀들은 상이한 높이들, 직경들 및 피치(pitch)들을 가질 수 있다. 예컨대, 일 구현에서, 핀 어레이들(140, 144)은 약 42 내지 50 mm의 길이, 약 7 내지 10 mm의 폭 및 약 5 mm의 높이를 갖는다. USB 2.0 및 다른 신호들을 위한 핀 어레이의 피치는 약 1.3 mm일 수 있고, 고속 신호들을 위한 핀 어레이의 피치는 약 2.0 내지 2.5 mm일 수 있다.
[0099] 도 10을 참조하면, 다양한 컴포넌트들의 중량 또는 부피를 감소시키거나 최소화하고, 그리고 비교적 슬림한 머리 장착 컴포넌트, 예컨대 이를테면 도 10에서 특징으로 하는 것(58)에 도달할 수 있도록 최소화된 컴포넌트/피처 세트를 갖는 것이 도움이 될 수 있다. 따라서, 도 8에 도시된 다양한 컴포넌트들의 다양한 치환들 및 조합들이 활용될 수 있다.
AR 시스템 내의 예시적인 전자기 감지 컴포넌트들
[0100] 도 11a를 참조하면, 전자기 감지 코일 어셈블리(604, 예컨대 하우징에 커플링된 3개의 개별 코일들)는 머리 장착 컴포넌트(58)에 커플링되는 것으로 도시되고; 그런 구성은 바람직하지 않을 수 있는 부가적인 지오메트리를 전체 어셈블리에 부가한다. 도 11b를 참조하면, 도 11a의 구성에서와 같이 박스 또는 단일 하우징(604) 내에 코일들을 하우징하기보다, 개별 코일들은 도 11b에 도시된 바와 같이 머리 장착 컴포넌트(58)의 다양한 구조들에 통합될 수 있다. 도 11b는 X-축 코일들(148), Y-축 코일들(150) 및 Z-축 코일들(152)에 대한 머리 장착 디스플레이(58) 상의 위치들의 예들을 도시한다. 따라서, 감지 코일들은 전자기 추적 시스템에 의해 디스플레이(58)의 로컬화 및/또는 배향의 원하는 공간 해상도 또는 정확도를 제공하기 위해 머리 장착 디스플레이(58) 상에 또는 그 주위에 공간적으로 분배될 수 있다.
[0101] 도 12a-도 12e는 필드 민감도를 증가시키기 위해 전자기 센서에 커플링된 페라이트 코어(1200a-1200e)를 사용하기 위한 다양한 구성들을 예시한다. 도 12a는 큐브 형상의 솔리드(solid) 페라이트 코어(1200a)를 예시하고, 도 12b는 서로 이격된 복수의 직사각형 디스크들로서 구성된 페라이트 코어(1200b)를 도시하고, 도 12c는 단일 축 공기 코어를 갖는 페라이트 코어(1200c)를 도시하고, 도 12d는 3개의 축 공기 코어를 갖는 페라이트 코어(1200d)를 도시하고, 그리고 도 12e는 (플라스틱으로 만들어질 수 있는) 하우징 내에 복수의 페라이트 로드들을 포함하는 페라이트 코어(1200e)를 도시한다. 도 12b-도 12e의 실시예들(1200b-1200e)은 도 12a의 솔리드 코어 실시예(1200a)보다 중량이 더 가볍고 용량을 절약하는 데 활용될 수 있다. 비록 도 12a-도 12e에서 큐브로서 도시될지라도, 페라이트 코어는 다른 실시예들에서 상이하게 형상화될 수 있다.
EM 추적 시스템들에 대한 주파수 분할 멀티플렉싱 , 시분할 멀티플렉싱 및 이득 제어
[0102] 종래의 EM 추적 솔루션들은 전형적으로 FDM(frequency division multiplexed) 회로 설계 또는 TDM(time division multiplexed) 회로 설계를 이용한다. 그러나, FDM 설계는 전형적으로 더 많은 전류를 사용하고 TDM 설계는 전형적으로 제한된 수의 사용자들만을 지원한다. 아래에서 더 설명된 바와 같이, FDM 및 TDM 설계들 둘 모두를 병합한 회로 설계는 둘 모두의 이익들을 달성할 수 있다. 그런 설계의 장점들은 종래의 설계들과 비교할 때 PCB(printed circuit board)의 영역, 재료 비용들, 사용된 부분들의 수, 및/또는 전류 드레인(drain)에 대한 절약들을 포함할 수 있다. 설계는 또한 개선된 또는 최적 성능을 다수의 사용자들에게 허용할 수 있다.
[0103] 도 13a는 주파수 분할 멀티플렉싱된 EM 송신기(TX) 회로(1302)의 예를 개략적으로 예시하는 블록 다이어그램이다. EM 송신기 회로는 EM 추적 시스템 내의 3개의 튜닝된 직교 코일들을 구동할 수 있다. EM TX에 의해 생성된 시변적인 EM 필드는 EM 수신기(예컨대, 도 13b를 참조로 설명됨)에 의해 감지될 수 있다. 이 회로는, (예컨대, BPF(bandpass filters) 및 선택적인 FB(ferrite beads)에서) 필터링되고 그리고 (예컨대, PA(pre-amplifiers)를 통해) 증폭되고 그리고 개개의 X, Y, Z 코일들에 공급되는 출력들을 갖는, 3개의 상이한 RF(radio frequency) 주파수들(f1, f2 및 f3)의 3개의 상이한 신시사이저들을 제어하기 위해 MCU(master control unit)를 사용한다. 회로는 또한 각각의 코일로의 전류가 일정하게 유지되는 것을 보장하는 전류 감지 제어 회로(R-감지 및 전류 제어)를 이용한다. 이 회로는 또한 도 13b를 참조로 설명된 EM 수신기 유닛과 통신하는 MCU에 연결된 RF 무선 통신 인터페이스(예컨대, BLE(Bluetooth Low Energy))를 갖는다.
[0104] 도 13b는 주파수 분할 멀티플렉싱된 EM 수신기(RX) 회로(1304)의 예를 개략적으로 예시하는 블록 다이어그램이다. EM 수신기는 EM TX 회로(1302)(예컨대, 도 13a를 참조)에 의해 생성된 시변적인 EM 신호들을 수신하기 위해 3개의 직교 코일들(주파수(f1)에서 동작하는 X-코일, 주파수(f2)에서 동작하는 Y-코일 및 주파수(f3)에서 동작하는 Z-코일)을 사용한다. 3개의 신호들은 병렬로 (예컨대, PA(pre-amplifiers)를 통해) 개별적으로 증폭되고 그리고 (예컨대, BPF(bandpass filters)에 의해) 필터링된다. 선택적으로, 필터 출력은 추가로 증폭될 수 있다. 그런다음, 증폭된 출력은 ADC(analog-to-digital)로 공급되고 디지털 신호들은 DSP(digital signal processor)에 의해 프로세싱된다. DSP는 ADC가 포화를 유지하도록 전치-증폭기들의 이득을 제어할 수 있다. 이런 수신기 설계는 또한 EM 송신기와 통신하는 DSP(또는 MCU)에 연결된 RF(radio frequency) 통신 링크를 갖는다(예컨대, 도 13b를 참조로 설명됨). RF 링크는 BLE(Bluetooth Low Energy)를 포함하여, 임의의 적절한 무선 표준을 지원하도록 구성될 수 있다.
[0105] 도 13a 및 도 13b에 도시된 EM TX 및 RX 회로들(1302, 1304)(뿐만 아니라 도 13c-도 13j를 참조로 아래에서 설명된 TX 및 RX 회로들)은 EM 추적에 사용될 수 있다. 예컨대, EM TX 회로(1302)는 도 4를 참조하여 설명된 EM 필드 방출기(402)에 사용될 수 있고 EM RX 회로(1304)는 도 4를 참조로 설명된 EM 필드 센서(404)에 사용될 수 있다. 장점들, 이를테면 예컨대, 감소된 부분 카운트, 감소된 PCB 영역, 더 낮은 재료 비용들을 제공할 수 있고, 그리고 최적의 성능을 다수의 사용자들에게 허용할 수 있는 EM TX 및 RX 회로들의 부가적인 실시예들이 설명될 것이다.
[0106] 도 13c는 시분할 멀티플렉싱된 EM 송신기 회로(1302)의 예를 개략적으로 예시하는 블록 다이어그램이다. 이 실시예에서, 도 13a의 FDM 회로는 시분할 멀티플렉싱된 회로로 변경되었다. TDM 회로는 3개의 직교 코일들로 분할된 단지 하나의 경로만을 사용한다. X, Y 및 Z-코일들은 각각, EM 수신기 회로에 의해 수신된 시변적인 EM 필드들을 생성하기 위해 주파수들(f1, f2 및 f3)에서 동작한다. TDM 회로는 TDM 타이밍 프로토콜(예컨대, 도 13f 및 도 13g를 참조)에 따라 개개의 시간들(t1, t2 및 t3)에서 이들 코일들을 동작시킬 수 있다. AGC(Automatic Gain Control)는 송신기 회로에 포함될 수 있다(도 13i 및 도 13j를 참조로 아래에서 추가로 설명됨). 각각의 코일은 MCU에 의해 할당된 원하는 주파수로 동적으로 주파수 튜닝될 수 있다.
동적 주파수 튜닝
[0107] 동적 주파수 튜닝은 EM TX 회로에서 증가된 또는 최대 전류 흐름을 획득하기 위해 각각의 코일에 대해 공진을 달성하는 데 사용될 수 있다. 동적 주파수 튜닝은 다수의 사용자들을 수용하는 데 사용될 수 있다. 도 13d는 동적으로 튜닝가능한 회로(1306)의 예를 개략적으로 예시하는 블록 다이어그램이다. 동적으로 튜닝가능한 회로들(1306)의 다른 실시예들은 도 17d-도 17g를 참조하여 설명된다. 도 13d에 도시된 회로에서, 송신 코일은 인덕터(L1)로 표현된다. 정적 캐패시터(C2)는 튜닝가능 캐패시터(C1)와 병렬이다. 이 예에서, 캐패시터(C1)를 튜닝함으로써 코일에 의해 생성된 주파수는 16 kHz 내지 30 kHz의 주파수 범위를 커버한다. 도 13e는 도 13d에 도시된 회로(1306)를 동적으로 튜닝함으로써 달성될 수 있는 다양한 주파수들(16 kHz 내지 30 kHz)에서의 공진들의 예들을 도시하는 그래프이다. 다수의 사용자들을 수용하기 위해, 예시적인 동적 주파수 튜닝 회로는 사용자당 1개의 송신(TX) 주파수를 이용할 수 있다. 주파수 할당들의 예들은 표 1에 도시된다.
예시적인 주파수 할당들
시작 주파수 16 kHz
중단 주파수 30 kHz
사용자들의 # 4
코일당 주파수들의 # 1
사용자당 TX 주파수들의 # 2
주파수 범위 14 kHz
채널 간격 2 kHz
요구된 총 주파수들 8
시분할 멀티플렉싱
[0108] 일부 실시예들에서, 송신기 상에서 시분할 멀티플렉싱을 달성하기 위해, 송신기와 수신기 회로들 간의 동기화가 활용될 수 있다. 동기화에 대한 2개의 가능한 시나리오들이 아래에서 논의된다.
[0109] 제1 시나리오는 수신기 및 송신기 둘 모두의 RF 무선 인터페이스(예컨대, BLE)를 통한 동기화를 사용한다. 무선 RF 링크는 송신기 및 수신기 둘 모두의 클록(clock)들을 동기화시키는 데 사용될 수 있다. 동기화가 달성된 이후, 시분할 멀티플렉싱은 온-보드(on-board) RTC(real-time clock)를 참조할 수 있다.
[0110] 제2 시나리오는 전자기 펄스를 통한 동기화를 사용한다. EM 펄스의 비행 시간은 전형적으로 TDM 회로에 사용된 허용오차들보다 상당히 짧을 것이고 무시될 수 있다. TX EM 펄스는 송신기에 의해 수신기로 전송되고, 수신기는 수신기 클록과 송신기 클록 간의 시간차를 계산한다. 이런 시간차는 알려진 오프셋으로서 RF 무선 링크를 통해 통신되거나 무선 인터페이스(예컨대, BLE) 클록에 대한 레퍼런스를 조정하는 데 사용된다.
[0111] 일부 실시예들에서, 이들 동기화 시나리오들 중 하나 또는 둘 모두가 구현될 수 있다. 동기화가 완료된 이후, 송신기 및 수신기에 대해 TDM에 대한 시간 시퀀스가 설정될 수 있다. 도 13f는 TDM 타이밍 다이어그램(1308)의 예를 예시한다. X-코일을 통한 TX는, 수신기의 X, Y 및 Z 코일들이 X-코일에 의해 생성된 자속을 수신하는 것을 허용하는 제1 시간 기간 동안 온으로 유지될 것이다. 제1 시간 기간 동안, Y-코일 및 Z-코일을 통한 TX들은 실질적으로 오프이다(예컨대, 코일들은 완전히 오프이거나 그들의 정상 동작 전압보다 훨씬 더 낮은(예컨대, < 10%, < 5%, < 1% 등) 전압으로 동작함). X-코일 송신 다음, Y-코일을 통한 TX는 턴-온될 것이고(그리고 X-코일은 실질적으로 턴-오프될 것인 반면, Z-코일은 실질적으로 오프로 유지됨), 그리고 수신기의 X, Y 및 Z 코일들은 TX Y-코일에 의해 생성된 자속을 수신할 것이다. Y-코일 송신 다음, Z-코일을 통한 TX는 턴-온될 것이고(그리고 Y-코일은 실질적으로 턴-오프될 것인 반면, X-코일은 실질적으로 오프로 유지됨), 그리고 수신기의 X, Y 및 Z 코일들은 TX Z-코일에 의해 생성된 자속을 수신할 것이다. 그런 다음, 이런 타이밍 시퀀스는, EM 송신기가 동작하는 동안 계속 반복된다.
[0112] 다음은 다수의 사용자들을 수용하는 비제한적인, 예시적인 예를 설명한다. 예컨대, 각각 2개의 송신기들씩 최대 4명의 사용자들을 수용하기 위해, 8개의 TX 주파수들이 요구된다. 이는 일반적으로, 이들 주파수들이 중복되지 않으면 유리하다. 그런 실시예들에서, 스캔 프로세스는, 특정 주파수가 아주 근접하여 사용되는지를 결정하기 위해 EM 수신기에 의해 구현될 수 있다. 도 13g는 스캔 타이밍(1310)의 예를 예시한다. 이런 스캔은 초기화 시뿐 아니라 사용자의 세션 동안 주기적으로 EM 수신기(1304)에 의해 행해질 수 있다. 스캔은 송신기(1302) 내의 TX를 의도적으로 턴-오프하고 그리고 비의도적인 간섭의 존재를 측정하기 위해 (수신기(1304) 내의) RX를 통해 사이클링함으로써 수행될 수 있다. 그 주파수에서 에너지가 있다는 것이 결정되면, 대안적인 주파수가 선택될 수 있다. 이런 스캔은 또한 3개의 직교 코일들 중 (3개 모두가 아닌) 1개 또는 2개를 모니터링함으로써 짧아질 수 있는데, 그 이유는 PnO(Position and Orientation)이 그 슬롯(slot)에 요구되지 않기 때문이다.
[0113] 도 13h는 EM 추적 시스템 내의 수신기(1304)의 다른 예를 개략적으로 예시하는 블록 다이어그램이다. 도 13b에 예시된 예시적인 FDM 수신기와 비교할 때, TDM 스위치는 3개의 직교 코일들로부터의 개별 경로들을 대체하였다. TDM 스위치는 RF 무선 인터페이스(예컨대, BLE)에 의해 제어될 수 있다. TDM 스위치는 도 13f에 예시된 타이밍 프로토콜(1308)을 활용할 수 있다.
[0114] 다양한 실시예들에서, 도 13c-도 13h를 참조하여 설명된 시분할 멀티플렉싱 TX 및/또는 RX 회로들은 다음 장점들 중 하나 이상을 제공할 수 있다. (A) 전류 드레인 및 배터리 수명. 송신기 및 수신기를 시간 멀티플렉싱함으로써, 사용된 전류의 양은 줄어들 수 있다. 이런 감소는, 고전류 회로들, 이를테면 송신기가 더 이상 100%의 시간 동안 활용되지 않는다는 사실로부터 발생한다. 시스템의 전류 드레인은 도 13a 및 도 13b에 도시된 FDM 회로들과 비교할 때 1/3 약간 넘게 감소될 수 있다. (B) BOM(Bill of Materials) 비용. 동일한 결과를 달성하는 데 사용되는 컴포넌트들의 수는 위에서 설명된 TDM 실시예들에서 (도 13a 및 도 13b의 FDM 회로들에 비해) 감소되었다. 동일한 경로를 통해 신호들을 멀티플렉싱하는 것은 부품 수를 감소시키고 이 경우에 컴포넌트들의 비용은 또한 FDM 카운터파트(counterpart)들에 비해 1/3 약간 넘게 감소되어야 한다. (C) PCB 영역. 부품 감소의 다른 이익은 PCB 영역에서 얻어지는 절약들일 수 있다. 부품 카운트는 거의 2/3만큼 감소하였고 따라서 PCB 상에서 요구되는 공간이 감소된다.
[0115] 다른 가능한 장점들은 TX 및 RX 회로들의 감소된 크기일 수 있다. 예컨대, 도 13a 및 도 13b에 도시된 FDM TX 및 RX 회로들은 3개의 직교 코일들 각각에 대해 별개의 필터 및 증폭기 경로들을 활용한다. 대조적으로, 도 13c 및 도 13h에 예시된 TDM TX 및 RX 회로들은 필터 및 증폭기 경로를 공유한다.
[0116] 센서 하우징들을 제거하는 것, 및 하드웨어 오버헤드(overhead)를 절약하기 위해 멀티플렉싱하는 것 외에, 신호 대 잡음 비율들은 하나보다 많은 전자기 센서들의 세트를 가짐으로써 증가될 수 있고, 각각의 세트는 단일의 더 큰 코일 세트에 비해 비교적 작다. 또한, 일반적으로 아주 근접하게 다수의 감지 코일들을 갖기 위해 필요한 주파수 하한들은 대역폭 요건 개선들을 가능하게 하기 위해 개선될 수 있다. 멀티플렉싱이 일반적으로 시간 영역에서 RF 신호들의 수신을 확산시키고, 이것이 일반적으로 더 많은 잡음 신호들을 초래하고; 따라서 더 큰 코일 직경들이 멀티플렉싱 시스템들에 대해 사용될 수 있다는 점에서, 일반적으로 TD 멀티플렉싱에 트레이드오프가 존재한다. 예컨대, 멀티플렉싱 시스템이 9 mm-측 디멘션 3차 코일 센서 박스를 활용할 수 있는 경우, 논멀티플렉싱(nonmultiplexed) 시스템은 유사한 성능을 위해 단지 7 mm-측 디멘션 3차 코일 박스를 활용할 수 있고; 따라서 기하구조 및 크기를 최소화하는 것과 FDM 및 TDM 회로들의 실시예들 사이에서 선택하는 것에 트레이드오프들이 존재할 수 있다.
전자기 추적 시스템에 대한 예시적인 자동 이득 제어
[0117] 도 13a 및 도 13b를 참조하면, FDM 수신기(도 13b)는 폐루프 이득 제어를 구현하는 반면, FDM 송신기(도 13a)는 이득 제어를 구현하지 않고 그리고 수신된 레벨에 무관하게, 자신의 최대 출력 전력에서 송신하도록 남겨진다. 수신기의 이득은 DSP에 의해 세팅될 수 있다. 예컨대, 수신기 코일들 상에 수신된 전압들은 이득 제어를 가진 제1 스테이지에 직접 공급된다. 큰 전압들은 DSP에서 결정될 수 있고, 그리고 DSP는 제1 스테이지의 이득을 자동으로 조정할 수 있다. 수신기에 이득 제어를 배치하는 것은, 심지어 필요하지 않을 때에도, 송신기에서 더 많은 전력을 활용할 수 있다. 따라서, (수신기 측보다 오히려) 송신기 측에서 자동 이득 제어(AGC, 때때로 또한 적응성 이득 제어로 지칭됨)를 이용하는 것이 유리할 수 있고, 이는 수신기 시스템에서 공간을 절약할 수 있고(그렇지 않으면 AGC에 사용될 것임), 이에 의해 훨씬 더 작고 더 휴대가능한 수신기를 허용한다.
[0118] 도 13i는 AGC(automatic gain control)를 활용하지 않는 EM 수신기(1304)의 예를 개략적으로 예시하는 블록 다이어그램이다. 제1 스테이지는 더 이상 AGC 회로가 없고(도 13b와 비교됨), 그리고 수신기는 단순히 일정한 이득을 가지도록 설계된다. 코일들 상에 수신된 전압 레벨은 DSP에 의해 결정되고, 그리고 DSP는 그 정보를 무선(예컨대, BLE) 링크에 제공한다. 이런 BLE 링크는 TX 레벨을 제어하기 위해 그 정보를 송신기(도 13j 참조)에 제공할 수 있다.
[0119] 도 13j는 AGC를 이용하는 EM 송신기(1302)의 예를 개략적으로 예시하는 블록 다이어그램이다. 도 13j의 EM 송신기(1302)는 도 13i의 수신기(1304)와 통신할 수 있다. 무선 링크(예컨대, BLE)는 (수신기 상의 BLE 링크로부터) 수신된 전압 레벨을 MCU에 통신한다. 증폭 스테이지는 MCU에 의해 제어되는 조정가능한 이득을 가질 수 있다. 이것은, 요구되는 수신 전압이 작을 때 송신기에서 전류 절약들을 허용할 수 있다.
[0120] 그에 따라서, 도 13i 및 도 13j의 RX 및 TX 회로 예들은 EM 수신기(1304) 대신 EM 송신기(1302)의 AGC를 이용한다. 도 13a 및 도 13b의 RX 및 TX 회로 예들로부터의 이런 변화는, 필요한 경우 TX 전력이 감소되는 것을 허용할 것이기 때문에, 더 작은 RX 설계뿐 아니라 더 효율적인 전력 설계를 허용할 수 있다.
사용자 머리 포즈 또는 손 포즈의 EM 추적의 예들
[0121] 도 14를 참조하면, 일 실시예에서, 사용자가 자신의 웨어러블 컴퓨팅 시스템을 파워-업(power up)(160)한 이후, 머리 장착 컴포넌트 어셈블리는 실세계 글로벌 좌표계에 관하여 머리 포즈(예컨대, 포지션 또는 배향)를 결정 및 업데이트하기 위해 IMU 및 카메라 데이터(카메라 데이터는, 예컨대 SLAM 분석을 위해, 이를테면 더 많은 로우(raw) 프로세싱 마력이 존재할 수 있는 벨트 팩 프로세서에서 사용됨)의 조합을 캡처할 수 있다(162). 사용자는 또한, 예컨대, 증강 현실 게임을 플레이하기 위해 핸드헬드 컴포넌트를 활성화할 수 있고(164), 그리고 핸드헬드 컴포넌트는 벨트 팩 및 머리 장착 컴포넌트 중 하나 또는 둘 다에 동작가능하게 커플링된 전자기 송신기를 포함할 수 있다(166). 하나 이상의 전자기 필드 코일 수신기 세트들(예컨대, 하나의 세트는 3개의 상이하게 배향된 개별 코일들임)은 머리 장착 컴포넌트와 핸드헬드 컴포넌트 간의 포지션 차이 또는 배향 차이(또는 "델타")를 결정하는 데 활용될 수 있는, 송신기로부터의 자속을 캡처하기 위해 머리 컴포넌트에 커플링된다(168). 글로벌 좌표계에 관하여 포즈를 결정하는 것을 돕는 머리 장착 컴포넌트와 머리 장착 컴포넌트에 관하여 핸드헬드의 상대적 위치 및 배향을 결정하는 것을 돕는 핸드헬드의 조합은, 각각의 컴포넌트가 글로벌 좌표계에 관련되는 위치를 시스템이 일반적으로 결정하는 것을 허용하고, 따라서 사용자의 머리 포즈 및 핸드헬드 포즈는, 바람직하게 비교적 낮은 레이턴시로, 핸드헬드 컴포넌트의 움직임들 및 회전들을 사용하여 증강 현실 이미지 피처들 및 상호작용의 프리젠테이션을 위해 추적될 수 있다(170).
[0122] 도 15를 참조하면, 시스템이 머리 장착 컴포넌트(172) 및 핸드헬드 컴포넌트(176, 178) 둘 모두의 포즈를 결정하는 것을 보조하는 데 이용가능한 더욱 많은 감지 디바이스들 및 구성들을 갖고, 그에 따라, 사용자의 머리 포즈, 및 핸드헬드 포즈가, 바람직하게 비교적 낮은 레이턴시로, 핸드헬드 컴포넌트의 움직임들 및 회전들을 사용하여 증강 현실 이미지 피처들 및 상호작용의 프리젠테이션을 위해 추적될 수 있다는(180) 것을 제외하고, 도 14의 실시예와 다소 유사한 실시예가 예시된다.
예시적인 스테레오 및 비행 시간 깊이 감지
[0123] 도 16a 및 도 16b를 참조하면, 도 8의 구성들과 유사한 구성의 다양한 양상들이 도시된다. 도 16a의 구성은, LIDAR(106) 타입의 깊이 센서 외에도, 도 16a의 구성이 예컨대 스테레오 삼각측량 스타일 깊이 센서(이를테면 패시브 스테레오 깊이 센서, 텍스처 투사 스테레오 깊이 센서, 또는 구조화된 광 스테레오 깊이 센서) 또는 시간 또는 비행 스타일 깊이 센서(이를테면 LIDAR 깊이 센서 또는 변조된 방출 깊이 센서)일 수 있는, 예시적인 목적들을 위한 일반적인 깊이 카메라 또는 깊이 센서(154)를 특징으로 하고; 추가로, 도 16a의 구성이 부가적인 전방 지향 "세계" 카메라(124, 이는 720p 범위 해상도 가능 센서를 가진 그레이스케일 카메라일 수 있음)뿐 아니라 비교적 높은 해상도 "사진 카메라"(156, 이는 예컨대, 2개의 메가픽셀 또는 더 높은 해상도 가능 센서를 가진, 풀 컬러 카메라일 수 있음)를 가진다는 점에서 도 8의 구성과 상이하다. 도 16b는 도 16b를 참조로 아래에서 추가로 설명된 바와 같이, 예시적인 목적들을 위해 도 16a의 구성의 부분 직교도를 도시한다.
[0124] 도 16a 및 위에서 언급된 스테레오 대 비행 시간 스타일 깊이 센서들을 다시 참조하면, 이들 깊이 센서 타입들 각각은, 비록 각각이 다양한 장점들 및 단점들을 가질지라도, 본원에서 개시된 바와 같은 웨어러블 컴퓨팅 솔루션에 이용될 수 있다. 예컨대, 많은 깊이 센서들은 흑색 표면들 및 반짝이거나 반사성 표면들에 난제들을 가진다. 패시브 스테레오 깊이 감지는 깊이 카메라 또는 센서로 깊이를 계산하기 위해 삼각측량을 얻는 비교적 단순한 방식이지만, 이는, 만약 와이드 시야("FOV")가 요구된다면 어려울 수 있고, 그리고 비교적 상당한 컴퓨팅 자원을 요구할 수 있으며; 추가로, 그런 센서 타입은 에지 검출에 난제들을 가질 수 있고, 이는 사용중인 특정 사용 케이스에 중요할 수 있다. 패시브 스테레오는 텍스처리스 벽들, 낮은 광 상황들, 및 반복된 패턴들에 난제들을 가질 수 있다. 패시브 스테레오 깊이 센서들은 제조자들, 이를테면 Intel 및 Aquifi로부터 입수가능하다. 텍스처 투사를 가진 스테레오(또한 "액티브 스테레오"로 알려짐)는 패시브 스테레오와 유사하지만, 텍스처 투사기는 투사 패턴을 환경상으로 브로드캐스팅하고, 브로드캐스팅되는 텍스처가 많을수록, 깊이 계산을 위한 삼각측량에서 더 큰 정확도가 이용가능하다. 액티브 스테레오는 또한 비교적 높은 컴퓨트 자원을 요구하고, 와이드 FOV가 요구될 때 난제들이 존재하고, 그리고 에지들을 검출하는 데 다소 최적이 아닐 수 있지만, 텍스처리스 벽들에 효과적이고, 낮은 광에 양호하고, 그리고 일반적으로 반복 패턴들에 있는 문제들을 가지지 않는다는 점에서 패시브 스테레오의 난제들 중 일부를 처리한다. 액티브 스테레오 깊이 센서들은 제조자들, 이를테면 Intel 및 Aquifi로부터 입수가능하다.
[0125] 구조화된 광을 가진 스테레오, 이를테면 Primesense, Inc.에 의해 개발되고 Kinect라는 상표명으로 이용가능한 시스템들뿐 아니라, Mantis Vision, Inc.로부터 입수가능한 시스템들은 일반적으로 단일 카메라/투사기 페어링을 활용하며, 투사기는 선험적으로 알려진 도트들의 패턴을 브로드캐스팅하도록 구성된다는 점에서 전문화된다. 본질적으로, 시스템은 브로드캐스팅되는 패턴을 알고, 그리고 결정될 변수가 깊이인 것을 안다. 그런 구성들은 컴퓨트 로드에 대해 비교적 효율적일 수 있고, 그리고 와이드 FOV 요건 시나리오들뿐 아니라 다른 인근 디바이스로부터 브로드캐스팅된 패턴들 및 주변 광을 가지는 시나리오들에서 어려울 수 있지만, 많은 시나리오들에서 매우 효과적이고 효율적일 수 있다. PMD Technologies, A.G. 및 SoftKinetic Inc.로부터 입수가능한 것들 같은 변조된 비행 시간 타입 깊이 센서들로 인해, 방출기는 진폭 변조된 광의 파, 이를테면 사인 파를 전송하도록 구성될 수 있고, 일부 구성들에서 인근 또는 심지어 오버랩핑하게 포지셔닝될 수 있는 카메라 컴포넌트는 카메라 컴포넌트의 픽셀들 각각에 대한 리턴 신호를 수신하고, 깊이 맵핑이 결정/계산될 수 있다. 그런 구성들은 지오메트리가 비교적 컴팩트하고, 정확도가 높고, 그리고 컴퓨트 로드가 낮을 수 있지만, (이를테면 오브젝트들의 에지들에서) 이미지 해상도, 다중-경로 에러들(이를테면 센서가 반사성이거나 반짝이는 모서리를 겨냥하고 검출기가 하나보다 많은 리턴 경로를 수신하게 됨)의 측면에서 어려울 수 있어서, 일부 깊이 검출 에일리어싱이 존재한다.
[0126] 또한 위에서 언급된 LIDAR로서 지칭될 수 있는 직접 비행 시간 센서들은 LuminAR and Advanced Scientific Concepts, Inc.같은 공급자들로부터 입수가능하다. 이들 비행 시간 구성들로 인해, 일반적으로 광의 펄스(이를테면 피코초, 나노초, 또는 펨토초 길이의 광의 펄스)는 이런 광 핑으로 그 주위로 배향된 세계를 배이싱하도록 전송되고; 이어서 카메라 센서 상의 각각의 픽셀은 그 펄스가 리턴하는 것을 기다리고, 그리고 광의 스피드를 알면, 각각의 픽셀에서의 거리가 계산될 수 있다. 그런 구성들은 변조된 비행 시간 센서 구성들(베이스라인 없음, 비교적 와이드 FOV, 높은 정확도, 비교적 낮은 컴퓨트 로드 등) 및 또한 수만 헤르쯔 같은 비교적 높은 프레임레이트의 많은 장점들을 가질 수 있다. 이들은 또한 비교적 값비싸고, 비교적 낮은 해상도를 가지며, 밝은 광에 민감하고, 그리고 다중-경로 에러들에 예민할 수 있고; 이들은 또한 비교적 크고 무거울 수 있다.
[0127] 도 16b를 참조하면, 사용자의 눈들(12)뿐 아니라 눈 추적, 관찰, 및/또는 이미지 캡처를 가능하게 하기 위해 눈들(12) 쪽으로 지향된 광 또는 방사 소스들(16, 이를테면 적외선) 및 시야들(28, 30)을 가진 카메라들(14, 이를테면 적외선 카메라들)을 특징으로 하는 부분 상면도가 예시적인 목적들을 위해 도시된다. 깊이 카메라(154) 및 이의 FOV(24), 및 사진 카메라(156) 및 이의 FOV(26)와 마찬가지로, 자신의 FOV들(18, 20, 22)을 가진 3개의 외향 세계 캡처링 카메라들(124)이 도시된다. 깊이 카메라(154)로부터 얻어진 깊이 정보는 오버랩핑하는 FOV들 및 다른 전방-지향 카메라들로부터의 데이터를 사용함으로써 강화될 수 있다. 예컨대, 시스템은 결국, 깊이 센서(154)로부터의 서브-VGA 이미지, 세계 카메라들(124)로부터의 720p 이미지, 및 때때로 사진 카메라(156)로부터의 2 메가픽셀 컬러 이미지와 같은 무언가가 될 수 있다. 그런 구성은 공통 FOV를 공유하는 4개의 카메라들을 갖는데, 4개의 카메라들 중 2개는 이종 가시적인 스펙트럼 이미지들을 가지며, 1개는 컬러를 가지며, 세 번째 카메라는 비교적 낮은 해상도 깊이를 가진다. 시스템은 그레이스케일 및 컬러 이미지들에서 세그먼트화를 행하고, 이들 둘을 융합하고 그리고 이들로부터 비교적 높은 해상도 이미지를 만들고, 일부 스테레오 대응물들을 얻고, 스테레오 깊이에 관한 가설을 제공하기 위해 깊이 센서를 사용하고, 그리고 단지 깊이 센서로부터 이용가능한 것보다 상당히 더 나을 수 있는 더 정제된 깊이 맵을 얻기 위해 스테레오 대응물들을 사용하도록 구성될 수 있다. 그런 프로세스들은 로컬 모바일 프로세싱 하드웨어 상에서 실행될 수 있거나, 또는 아마도 영역 내의 다른 사람들(이를테면 서로 인근에 테이블을 사이에 두고 앉아 있는 2명의 사람들)로부터의 데이터와 함께 클라우드 컴퓨팅 자원들을 사용하여 실행될 수 있고, 매우 정제된 맵핑을 초래할 수 있다. 다른 실시예에서, 위의 센서들 모두는 그런 기능성을 달성하기 위해 하나의 통합 센서로 조합될 수 있다.
EM 추적용 송신 코일의 예시적인 동적 튜닝
[0128] 도 17a-17g를 참조하면, 다수의 사용자들이 동일한 시스템 상에서 동작할 수 있게 하는, 직교 축당 다수의 주파수들에서 송신 코일을 최적으로 동작시키는 것을 가능하게 하기 위해, 전자기 추적을 위한 동적 송신 코일 튜닝 구성의 양상들이 도시된다. 전형적으로 전자기 추적 송신기는 직교 축마다 고정된 주파수들에서 동작하도록 설계될 것이다. 그런 접근법에 의해, 각각의 송신 코일은 동작 주파수에서만 공진을 생성하는 정적 직렬 커패시턴스로 튜닝된다. 그런 공진은 코일을 통한 가능한 최대 전류 흐름을 허용하고, 이는 차례로 생성된 자속을 최대화한다. 도 17a는 고정된 동작 주파수에서 공진을 생성하는 데 사용되는 전형적인 공진 회로(1305)를 예시한다. 인덕터("L")는 1 mH의 인덕턴스를 가진 단일 축 송신 코일을 표현하고, 그리고 커패시턴스가 52 nF으로 세팅되면, 도 17b에 도시된 바와 같이, 공진은 22 kHz에서 생성된다. 도 17c는 도시된 도 17a의 회로(1305)를 지나는 전류 대 주파수를 도시하고, 그리고 전류가 공진 주파수에서 최대임을 알 수 있다. 만약 이 시스템이 임의의 다른 주파수에서 동작하는 것으로 예상되면, 동작 회로는 가능한 최대 전류(22 kHz의 공진 주파수에서 발생함)에 있지 않을 것이다.
[0129] 도 17d는 전자기 추적 시스템의 송신기(1302)의 송신기 회로(1306)에 대한 동적 튜닝 가능 구성의 실시예를 예시한다. 도 17d에 도시된 예시적인 회로(1306)는 본원에서 설명된 EM 필드 방출기(402, 602, 1302)의 실시예들에 사용될 수 있다. 도 17d의 회로는 발진 전압 소스(1702), 송신(TX) 코일, 고전압(HV) 커패시터, 및 원하는 공진 주파수에 대한 튜닝을 제공하기 위해 선택될 수 있는 커패시터 뱅크(1704) 내의 복수의 저전압(LV) 커패시터들을 포함한다. 동적 주파수 튜닝은 최대 전류 흐름을 얻기 위해 코일 상의 공진(원하는, 동적 조정가능 주파수들에서)을 달성하도록 세팅될 수 있다. 동적 튜닝 가능 회로(1306)의 다른 예는 도 17e에 도시되고, 여기서 튜닝 가능 커패시터(1706)("C4")는 도 17f에 예시된 시뮬레이팅된 데이터에서 도시된 바와 같이, 상이한 주파수들에서 공진을 생성하도록 튜닝될 수 있다. 튜닝 가능 커패시터를 튜닝하는 것은 도 17d에 도시된 회로에서 개략적으로 예시된 바와 같이 복수의 상이한 커패시터들 사이에서 스위칭하는 것을 포함할 수 있다. 도 17e의 실시예에서 도시된 바와 같이, 전자기 트래커의 직교 코일들 중 하나는, 인덕터("L") 및 정적 커패시터("C5")가 고정된 고전압 커패시터이기 때문에 시뮬레이팅된다. 이런 고전압 커패시터는 공진으로 인해 더 높은 전압들을 볼 것이고, 따라서 이의 패키지 사이즈는 일반적으로 더 커질 것이다. 커패시터(C4)는 상이한 값들로 동적으로 스위칭되는 커패시터일 것이고, 따라서 더 낮은 최대 전압을 볼 수 있고 그리고 일반적으로 배치 공간을 절약하기 위해 더 작은 기하학적 패키지일 수 있다. 인덕터(L3)는 또한 공진 주파수를 미세 튜닝하는 데 활용될 수 있다.
[0130] 도 17f는 도 17e의 회로(1306)에 의해 달성될 수 있는 공진들의 예들을 예시한다. 도 17f에서, 더 높은 곡선들(248)은 커패시터(C5) 양단에 전압(Vmid - Vout)을 도시하고, 그리고 더 낮은 곡선들(250)은 커패시터(C4) 양단에 전압(Vout)을 도시한다. C4의 커패시턴스가 변함에 따라, 공진 주파수는 (이 예에서 약 22 kHz 내지 30 kHz에서) 변화되고, 그리고 C5 양단 전압(Vmid-Vout; 곡선들(248))이 C4 양단 전압(Vout; 곡선들(250))보다 더 높다는 것이 주목된다. 이것은 일반적으로, 이런 커패시터의 배수들이 일반적으로 시스템에 사용될 것이기 때문에, 예컨대 동작 공진 주파수당 하나의 커패시터(예컨대, 도 17d에 도시된 커패시터 뱅크(1704) 내의 다수의 LV 커패시터들을 참조)이기 때문에, C4 상에 더 작은 패키지 부분을 허용할 것이다. 도 17g는 커패시터들 양단 전압에 무관하게, 달성된 최대 전류가 공진을 따르는 것을 예시하는 전류 대 주파수의 플롯이다. 그에 따라서, 동적 튜닝 가능 회로의 실시예들은 단일 EM 추적 시스템의 다수의 사용자들에게 개선된 또는 최적화된 성능을 허용하는 다수의 주파수들에 걸쳐 송신 코일에 증가된 또는 최대 전류를 제공할 수 있다.
EM 추적 시스템에 대한 예시적인 오디오 잡음 제거
[0131] 오디오 스피커들(또는 임의의 외부 자석)은 EM 추적 시스템의 EM 필드 방출기에 의해 생성된 자기장과 비의도적으로 간섭할 수 있는 자기장을 생성할 수 있다. 그런 간섭은 EM 추적 시스템에 의해 제공된 위치 추정의 정확도 또는 신뢰성을 악화시킬 수 있다.
[0132] AR 디바이스들이 발달함에 따라, 이들은 더 복잡해지고 그리고 공존하고 독립적으로 수행해야 하는 더 많은 기술들을 통합한다. EM 추적 시스템들은 EM 센서의 3D 포지션(그리고 이에 의해, 센서가 부착되거나 통합되는 오브젝트의 3D 포지션)을 결정하기 위해 (EM 필드 방출기에 의해 생성된) 자속의 미세 변화들의 수신(EM 센서에 의함)에 의존한다. EM 추적 센서 코일들에 가까이 상주하는 오디오 스피커들은 진정한 포지션을 컴퓨팅하기 위한 EM 추적 시스템의 능력에 간섭할 수 있는 자속을 방출할 수 있다.
[0133] 도 18a-18c를 참조하면, 전자기 추적 시스템은 인간 청취에 대한 가청 범위보다 약간 더 높은 약 30 kHz 아래에서 작동하도록 경계가 이루어질 수 있다. 도 18a는, 오디오 스피커(1820)가 EM 센서(604)에 매우 근접하게 있는 구성을 도시한다. 오디오 스피커(1820)는 시변적인 전압 소스(1822) 및 증폭기(1824)에 의해 구동된다. 스피커가 EM 센서(604)의 코일들에 의해 감지되는 자기장에 잡음을 생성하기 때문에, 스피커(1820)의 자기장은 EM 추적 시스템에 비의도적인 자기 간섭을 유발할 수 있다. 일부 구현들에서, 오디오 스피커(1820)와 EM 센서(604) 간의 거리는 수신되는 간섭을 감소시키기 위해 증가될 수 있다. 그러나, 스피커로부터의 자속이 센서로부터의 거리의 세제곱(1/r3)으로 감쇠하기 때문에, 큰 거리들이 간섭에서의 매우 작은 감쇠를 제공하는 포인트가 존재할 것이다. 오디오 스피커(예컨대, 도 2a-2d에 도시된 스피커(66))는 일반적으로 AR 디바이스의 착용자에게 오디오 경험을 제공하기 위해 AR 디바이스들에서 사용될 것이고; 따라서, 오디오 스피커가 AR 디바이스 상에 또한 배치된 EM 센서(예컨대, 도 11a에 도시된 예시적인 웨어러블 디스플레이 디바이스(58) 내의 스피커(66)에 가까이 배치된 EM 센서(604))에 비교적 가까운 것이 일반적일 수 있다. 오디오 스피커로부터의 자기장은 EM 추적 시스템의 EM 센서에 의해 감지되는 EM 필드에 간섭할 수 있다.
[0134] 도 18a를 참조하면, 그러한 전자기 추적 시스템들에 대해 사용가능한 주파수들에 잡음을 생성하는 일부 오디오 시스템들이 존재할 수 있다. 추가로, 오디오 스피커들은 전형적으로 자기장들 및 하나 이상의 코일들을 가지며, 이는 또한 전자기 추적 시스템들에 간섭할 수 있다. 도 18b를 참조하면, 전자기 추적 시스템을 위한 잡음 제거 시스템(1830)의 예에 대한 블록 다이어그램이 도시된다. 비의도적인 EM 간섭이 알려진 엔티티이므로(전압 소스(1822)에 의해 오디오 스피커(1820)에 공급되는 신호가 알려졌거나 측정될 수 있기 때문에), 이러한 지식은 오디오 스피커(1820)로부터의 EM 간섭을 제거하고 EM 추적 시스템의 성능을 개선하는 데 사용될 수 있다. 다른 말로, 시스템에 의해 생성된 오디오 신호는 EM 센서(604)의 코일에 의해 수신된 스피커로부터의 자기 간섭을 제거하는 데 활용될 수 있다. 도 18b에 개략적으로 도시된 바와 같이, 잡음 제거 회로(1830)는 EM 센서(604)로부터의 손상된 신호들(1850a)뿐만 아니라 오디오 시스템으로부터의 신호(1850b)를 수용하도록 구성될 수 있다. 잡음 제거 시스템은 오디오 스피커(1820)로부터 수신된 간섭을 제거하고 그리고 손상되지 않은 센서 신호(1850c)를 제공하기 위해 신호들(1850a, 1850b)을 결합할 수 있다.
[0135] 도 18c는, 간섭을 제거하고 실질적으로 손상되지 않은 센서 신호(1850c)를 제공하기 위해 오디오 신호(1850b)가 어떻게 인버팅되어 손상된 센서 신호(1850a)에 부가될 수 있는지의 예시적이고 비-제한적인 예를 도시하는 플롯이다. 최상부 플롯(V(잡음))은 오디오 스피커(1820)에 의해 EM 추적 시스템에 부가된 잡음 신호(1850b)이다. 최하부 플롯(V(제거))은 인버팅된 오디오 신호(예컨대, -V(잡음))이며, 이들이 함께 부가될 때, 효과는, 오디오로부터의 잡음 품질이 악화되지 않는다는 것이다. 다른 말로, 잡음 제거 시스템은 EM 송신기 코일들로부터의 신호를 표현하는 진정한 EM 센서 신호(V(센서)), 및 잡음 신호의 합(V(센서)+V(잡음))인 손상된 신호(1850a)를 수신한다. 인버팅된 오디오 신호(-V(잡음))를 손상된 신호(1850a)에 부가함으로써, 손상되지 않은 신호(V(센서))(1850c))가 복원된다. 손상되지 않은 신호(1850c)는, 마치 오디오 스피커(604)가 존재하지 않는 것처럼 센서(604)의 응답을 반영하고 따라서 센서(604)의 포지션에서의 EM 송신기 필드들을 반영한다. 동등하게, 잡음 신호(1850b)는 손상되지 않은 신호(V(센서))(1850c)를 복원하기 위해 손상된 신호(1850a)로부터 감산될 수 있다. 잡음 제거는 (예컨대, 오디오 스피커로부터의) 잡음 신호의 실질적으로 모두(예컨대, 80 % 초과, 90 % 초과, 95 % 초과 또는 그 초과)를 제거하는 것을 초래할 수 있다. 이러한 잡음 제거 기법은 단지 오디오 스피커 잡음의 제거로 제한되는 것이 아니라, 만약 잡음 신호의 측정(또는 추정)이 결정(따라서, 그런 다음, 앞서 설명된 바와 같이 EM 센서 신호로부터 제거될 수 있음)되면 EM 센서 신호에 대한 잡음 간섭의 다른 소스들에 적용될 수 있다.
[0136] 도 18d는 EM 추적 시스템의 EM 센서에 의해 수신된 간섭을 제거하기 위한 예시적인 방법(1800)을 도시하는 흐름도이다. 방법(1800)은 AR 디바이스의 하드웨어 프로세서, 이를테면, 예컨대 로컬 프로세싱 및 데이터 모듈(70)에 의해, 또는 EM 추적 시스템의 하드웨어 프로세서에 의해 수행될 수 있다. 블록(1802)에서, 방법은 전자기 센서로부터 잡음 신호를 수신한다. 앞서 설명된 바와 같이, 잡음 신호는 전자기 간섭을 생성하는 인근 오디오 스피커로부터의 간섭에 의해 유발될 수 있다. 블록(1804)에서, 방법은 EM 간섭의 소스로부터 신호를 수신한다. 예컨대, 신호는 오디오 스피커를 구동하는 데 사용되는 신호(1850b)일 수 있다(예컨대, 도 18b 참조). 블록(1806)에서, 잡음 신호와 간섭 신호가 잡음 제거된 EM 신호를 획득하기 위해 결합된다. 예컨대, 간섭 신호가 인버팅되어 잡음 신호에 부가될 수 있거나 또는 간섭 신호가 잡음 신호로부터 감산될 수 있다. 블록(1808)에서, 잡음 제거된 신호는 EM 센서의 위치를 결정하는 데 사용될 수 있다. (잡음 신호를 사용하는 것과 비교할 때) 잡음 제거된 신호를 사용하여 획득된 위치는 더 정확하고 신뢰성이 있다.
[0137] 따라서, 전술한 바는 EM 트래커 센서에 근접한 오디오 스피커에 의해 생성되는 비의도적인 잡음을 제거하기 위한 방법을 제공한다. 이러한 방법은 EM 추적 신호로부터 잡음을 제거하기 위해 오디오에 관한 알려진 정보를 사용하는 잡음 제거 방법을 이용한다. 이러한 시스템은 오디오 스피커와 EM 센서 코일의 충분한 물리적 분리가 달성될 수 없을 때(따라서 간섭이 충분히 낮음) 사용될 수 있다. 전술한 바에서, 간섭 잡음이 오디오 스피커에 의해 생성된 것으로 설명되었지만, 이는 예시를 위한 것이고 제한이 아니다. 전술한 바의 실시예들은, 측정될 수 있고 그런 다음 손상된 센서 신호로부터 감산될 수 있는 임의의 간섭 신호에 적용될 수 있다.
비전 시스템들의 예시적인 교정
[0138] 도 19를 참조하면, 일 실시예에서, 광들 또는 다른 방출기들의 알려진 패턴(1900)(이를테면 원형 패턴)은 비전 시스템들의 교정을 보조하는 데 활용될 수 있다. 예컨대, 원형 패턴은 기점으로서 활용될 수 있고; 알려진 배향을 갖는 카메라 또는 다른 캡처 디바이스가, 패턴에 커플링된 오브젝트가 재배향되는 동안, 패턴의 형상을 캡처하기 때문에, 오브젝트, 이를테면 핸드 헬드 토템 디바이스(606)의 배향이 결정될 수 있고; 그러한 배향은 에러 결정을 위해 그리고 교정에서 사용하기 위해 오브젝트(예컨대, 토템) 상의 연관된 IMU로부터 비롯되는 배향과 비교될 수 있다. 도 19를 더 참조하면, 광들의 패턴(1900)은 핸드-헬드 토템(606)(도 19에 원통형으로서 개략적으로 표현됨) 상의 광 방출기들(예컨대, 복수의 LED들)에 의해 생성될 수 있다. 도 19에 도시된 바와 같이, 토템이 AR 헤드셋(58) 상의 카메라에 의해 정면으로 뷰잉될 때, 광들의 패턴(1900)은 원형으로 나타난다. 토템(606)이 다른 배향들로 기울어질 때, 패턴(1900)은 타원형으로 나타난다. 광들의 패턴(1900)은 컴퓨터 비전 기법들을 사용하여 식별될 수 있고 토템(606)의 배향이 결정될 수 있다.
[0139] 다양한 구현들에서, 증강 현실 디바이스는 광들의 패턴을 식별하기 위한 하나 이상의 컴퓨터 비전 기법들을 구현(또는 본원에서 사용 또는 설명된 다른 컴퓨터 비전 절차들을 수행)하도록 구성된 컴퓨터 비전 시스템을 포함할 수 있다. 컴퓨터 비전 기법들의 비제한적 예들은: SIFT(Scale-invariant feature transform), SURF(speeded up robust features), ORB(oriented FAST and rotated BRIEF), BRISK(binary robust invariant scalable keypoints), FREAK(fast retina keypoint), 비올라-존스 알고리즘(Viola-Jones algorithm), 아이겐페이시스(Eigenfaces) 접근법, 루카스-카나데(Lucas-Kanade) 알고리즘, 혼-셩크(Horn-Schunk) 알고리즘, 민-시프트(Mean-shift) 알고리즘, vSLAM(visual simultaneous location and mapping) 기법들, 순차적 베이지안 추정기(sequential Bayesian estimator)(예컨대, 칼만 필터, 확장 칼만 필터 등), 번들(bundle) 조정, 적응형 임계 설정(Adaptive thresholding)(및 다른 임계 설정 기법들), ICP(Iterative Closest Point), SGM(Semi Global Matching), SGBM(Semi Global Block Matching), 피처 포인트 히스토그램(Feature Point Histogram)들, 다양한 머신 학습 알고리즘들(이를테면, 예컨대, 지원 벡터 머신, k-최근접 이웃 알고리즘, 나이브 베이즈(Naive Bayes), 뉴럴 네트워크(컨볼루셔널 또는 딥 뉴럴 네트워크들을 포함함), 또는 다른 감독(supervised)/무감독(unsupervised) 모델들 등) 등을 포함한다.
웨어러블 디스플레이 디바이스들의 서브시스템들에 대한 예시적인 회로들
[0140] 도 20a-20c를 참조하면, 웨어러블 컴퓨팅 구성의 2개의 서브시스템들 또는 컴포넌트들, 이를테면 머리 장착 컴포넌트와 벨트-팩(belt-pack) 컴포넌트 간의 회로를 단순화하기 위해 합산 증폭기(2002)를 가진 구성이 도시된다. 종래의 구성에서, 전자기 추적 센서(604)의 코일들(2004)(도 20a의 왼쪽 상에 있음)의 각각은 증폭기(2006)와 연관되고, 그리고 3개의 별개의 증폭된 신호들은 합산 증폭기(2002) 및 케이블링을 통해 다른 컴포넌트(예컨대, 도 20b에 도시된 바와 같은 프로세싱 회로)에 전송될 수 있다. 예시된 실시예에서, 3개의 별개의 증폭된 신호들은 합산 증폭기(2002)로 지향될 수 있고, 합산 증폭기(2002)는, 유리하게 단순화된 케이블(2008) 아래로 지향되는 하나의 증폭된 신호를 생성하고, 각각의 신호는 상이한 주파수일 수 있다. 합산 증폭기(2002)는 증폭기에 의해 수신된 3개의 신호들 전부를 증폭하도록 구성될 수 있고; 그런 다음 (도 20b에 예시된 바와 같이) 수신 디지털 신호 프로세서는, 아날로그-디지털 변환 이후, 다른 단부에서 신호들을 분리한다. 이득 제어가 사용될 수 있다. 도 20c는 각각의 주파수(F1, F2 및 F3)에 대한 필터를 예시하고 ― 따라서 신호들은 그러한 스테이지에서 다시 분리될 수 있다. 3개의 신호들은 (예컨대, 센서 포즈를 결정하기 위해) 컴퓨테이셔널 알고리즘에 의해 분석될 수 있고 포지션 또는 배향 결과는 (예컨대, 사용자의 순시 머리 포즈에 기반하여 가상 콘텐츠를 사용자에게 적절히 디스플레이하기 위해) AR 시스템에 의해 사용될 수 있다.
예시적인 EM 추적 시스템 업데이팅
[0141] 도 21을 참조하면, "EM(electromagnetic)" 추적 업데이팅은 휴대가능 시스템에 대한 전력 측면에서 비교적 "비쌀 수" 있고, 매우 높은 빈도의 업데이팅이 가능하지 않을 수 있다. "센서 융합" 구성에서, 다른 센서, 이를테면 IMU로부터의 더 빈번하게 업데이트되는 로컬화 정보는, 비교적 높은 빈도이거나 비교적 높은 빈도가 아닐 수 있는 다른 센서, 이를테면 광학 센서(예컨대, 카메라 또는 깊이 카메라)로부터의 데이터와 함께 결합될 수 있고; 이러한 입력들 모두를 융합시키는 네트(net)는 EM 시스템에 대한 요구를 낮추고 더 신속한 업데이팅을 제공한다.
[0142] 도 11b를 다시 참조하면, AR 디바이스(58)를 위한 분산형 센서 코일 구성이 도시되어 있다. 도 22a를 참조하면, 3개의 직교 감지 코일들(X, Y, Z의 각각의 방향에 대해 하나씩의 직교 감지 코일)을 포함하는 하우징과 같은 단일 전자기 센서 디바이스(604)를 갖는 AR 디바이스(58)가 앞서 설명된 바와 같이 6 자유도 추적을 위해 웨어러블 컴포넌트(58)에 커플링될 수 있다. 또한 앞서 주목된 바와 같이, 그러한 디바이스는 분해될 수 있는데, 도 22b 및 22c에 도시된 바와 같이, 웨어러블 컴포넌트(58)의 상이한 위치들에 3개의 서브-부분들(예컨대, 코일들)이 부착된다. 도 22c를 참조하면, 추가적인 설계 대안들을 제공하기 위해서, 각각의 개별 센서 코일이 유사하게 배향된 코일들의 그룹으로 대체될 수 있음으로써, 임의의 정해진 직교 방향에 대한 전체 자속이 각각의 직교 방향에 대한 단일 코일에 의해서 보다는 그룹(148, 150, 152)에 의해서 캡처된다. 다른 말로, 각각의 직교 방향을 위한 하나의 코일보다는 오히려, 더 작은 코일들의 그룹이 활용될 수 있고, 그 코일들의 신호들이 그 직교 방향에 대한 신호를 형성하기 위해서 어그리게이팅될 수 있다. 특정 시스템 컴포넌트, 이를테면 머리 장착 컴포넌트(58)가 둘 이상의 전자기 코일 센서 세트들을 특징으로 하는 다른 실시예에서, 시스템은 그 시스템의 성능을 개선 또는 최적화시키기 위해서 (예컨대, 1 cm, 2 cm, 3 cm, 4 cm, 5 cm, 또는 10 cm 내로) 서로 가장 근접하는 센서 및 방출기 페어링을 선택적으로 활용하도록 구성될 수 있다.
웨어러블 디스플레이 시스템을 재교정하는 예들
[0143] 도 23a-23c를 참조하면, 본원에서 논의된 것들과 같은 웨어러블 컴퓨팅 시스템을 재교정하는 것이 유용할 수 있고, 일 실시예에서, 수신기에서의 음향 센서(예컨대, 마이크로폰) 및 음향 비행 시간 계산과 함께 송신기에서 생성된 음향(예컨대, 초음파) 신호들이 송신기와 수신기 간의 사운드 전파 지연을 결정하여 송신기와 수신기 간의 거리를 결정(사운드의 스피드가 알려지기 때문에)하기 위해 활용될 수 있다. 도 23a는, 일 실시예에서 송신기 상의 3개의 코일들이 사인파들의 버스트로 에너지를 공급받고 동시에 초음파 트랜스듀서가 바람직하게 코일들 중 하나의 코일과 동일한 주파수의 사인파들의 버스트로 에너지를 공급받을 수 있다는 것을 도시한다. 도 23b는, EM 수신기가 X, Y, Z 센서 코일들을 사용하여 3개의 EM 파들을 수신하고 마이크로폰(MIC)을 사용하여 음향, 초음파를 수신하도록 구성될 수 있다는 것을 예시한다. 3개의 EM 신호들의 진폭으로부터 총 거리가 계산될 수 있다. EM 코일들(2304)(예컨대, 도 23c를 참조)의 응답과 음향(마이크로폰) 응답(2302)의 타이밍을 비교함으로써 비행 시간(사운드 전파 지연 시간(2300))이 계산될 수 있다. 이것은 또한 거리를 계산하기 위해 사용될 수 있다. 전자기적으로 계산된 거리를 음향 지연 시간(2300)과 비교하는 것은 (예컨대, 보정 팩터들에 의해) EM TX 또는 RX 회로들을 교정하기 위해 사용될 수 있다.
[0144] 도 24a를 참조하면, 다른 실시예에서는, 카메라를 특징으로 하는 증강 현실 시스템에서, 핸드헬드 제어기(예컨대, 제어기(606))와 같은 다른 디바이스 상에서 (도 24a에서 화살표로 묘사된) 알려진-사이즈 정렬 피처의 픽셀들의 사이즈를 측정함으로써 그 거리가 계산될 수 있다.
[0145] 도 24b를 참조하면, 다른 실시예에서는, 적외선("IR") 깊이 센서와 같은 깊이 센서를 특징으로 하는 증강 현실 시스템에서, 그 거리가 그러한 깊이 센서에 의해서 계산되어 제어기에 직접 리포트될 수 있다.
[0146] 도 24c 및 24d를 참조하면, 일단 총 거리가 알려지면, 카메라 또는 깊이 센서 중 어느 하나가 공간에서의 포지션을 결정하기 위해 사용될 수 있다. 증강 현실 시스템은 하나 이상의 가상 정렬 타겟들을 사용자에게 투사하도록 구성될 수 있다. 사용자는 제어기를 타겟에 정렬할 수 있고, 시스템은 EM 응답으로부터 뿐만 아니라 가상 타겟들의 방향 및 이전에 계산된 거리로부터 포지션을 계산할 수 있다. 롤(roll) 각도 교정이 제어기 상의 알려진 피처를 사용자에게 투사된 가상 타겟과 정렬시킴으로써 이루어질 수 있고; 요(yaw) 및 피치(pitch) 각도가 가상 타겟을 사용자에게 제공하고 사용자가 제어기 상의 2개의 피처들을 타겟과 정렬(소총을 조준하는 것과 상당히 유사함)시키게 함으로써 교정될 수 있다.
[0147] 도 25a 및 25b를 참조하면, EM 추적 시스템들과 연관된 내재하는 모호성이 존재할 수 있고: 수신기는 송신기 주위의 2개의 대각적으로 대향하는 위치들에서 유사한 응답을 생성할 것이다. 예컨대, 도 25a는 유사한 응답을 생성하는 핸드헬드 디바이스(606) 및 고스트 디바이스(606a)를 도시한다. 그러한 난제는 특히, 송신기 및 수신기 둘 모두가 서로에 대해 이동적일 수 있는 시스템들에서 특히 관련있다.
[0148] 일 실시예에서, 시스템은 사용자가 기준(예컨대, 대칭) 축의 플러스 또는 네거티브 측 상에 있는지를 결정하기 위해 IMU 센서를 사용할 수 있다. 세계 카메라들 및 깊이 카메라를 특징으로 하는 위에서 설명된 것들과 같은 일 실시예에서, 시스템은 핸드헬드 컴포넌트(예컨대, 도 25b의 핸드헬드(2500))가 기준 축의 포지티브 측 또는 네거티브 측에 있는지 여부를 검출하기 위해 그 정보를 사용할 수 있고; 만약 핸드헬드(2500)가 카메라 및/또는 깊이 센서의 시야 밖에 있다면, 시스템은 핸드헬드 컴포넌트(2500)가 사용자의 바로 뒤의 180도 구역, 예컨대 도 25b에 도시된 바와 같은 고스트 포지션(2500a)에 있다고 판단하도록(또는 사용자가 판단할 수 있도록) 구성될 수 있다.
[0149] 외향 카메라 디바이스들(124, 154, 156)이 머리 장착 컴포넌트(58)와 같은 시스템 컴포넌트에 커플링되는 위의 실시예들을 다시 참조하면, 그러한 머리 장착 컴포넌트(58)에 커플링된 머리의 포지션 및 배향이 이들 카메라 디바이스들로부터 수집된 정보를 사용하여, 동시적인 로컬화 및 맵핑과 같은 기법들을 사용하여, 또는 "SLAM" 기법들(병렬 추적 및 맵핑, 즉 "PTAM" 기법으로도 알려짐)을 사용하여 결정될 수 있다. 실시간 또는 거의 실시간(예컨대, 바람직하게는 결정과 업데이팅의 낮은 레이턴시를 가짐)으로 사용자의 "머리 포즈"로도 알려진 사용자의 머리의 포지션 및 배향을 이해하는 것은, 사용자가 그의 주변의 실제 환경 내의 어디에 있는지, 및 사용자의 증강 또는 혼합 현실 경험에 관련된 환경 및 사용자에 대해 가상 콘텐츠가 어떻게 배치되고 존재하는지를 결정하는데 있어서 유용하다. 전형적인 SLAM 또는 PTAM 구성은 인입하는 이미지 정보로부터 피처들을 추출하는 것 및 3-D 맵핑 포인트들을 삼각측량하기 위해 이를 사용하고 그런다음 이들 3-D 맵핑 포인트들에 대해 추적하는 것을 수반한다. SLAM 기법들은 많은 구현들에서, 이를테면 자율 주행 승용차들에서 활용되어 왔고, 여기서 컴퓨팅, 전력 및 감지 자원들은 웨어러블 컴퓨팅 디바이스, 이를테면 머리 장착 컴포넌트(58)을 보드 상에서 이용가능할 수 있는 것들과 비교할 때 비교적 풍부할 수 있다.
카메라 피처들의 추출을 통한 포즈 계산 및 위치 맵핑의 예들
[0150] 도 26을 참조하면, 일 실시예에서, 웨어러블 컴퓨팅 디바이스, 이를테면 머리 장착 컴포넌트(58)는 2개의 카메라 이미지들(왼쪽-204, 오른쪽-206)을 생성하는 2개의 외향 카메라들을 포함할 수 있다. 일 실시예에서, 비교적 가볍고, 휴대가능하고, 그리고 전력 효율적인 임베딩된 프로세서, 이를테면 Movidius®, Intel®, Qualcomm®, 또는 Ceva®에 의해서 판매되는 것들은 머리 장착 컴포넌트(58)의 부분을 포함할 수 있고, 카메라 디바이스들에 동작가능하게 커플링될 수 있다. 임베딩된 프로세서는 카메라 이미지들(204, 206)로부터 피처들(210, 212)을 먼저 추출하도록 구성될 수 있다. 만약 2개의 카메라들 간의 교정이 알려진다면, 시스템이 이들 피처들의 3-D 맵핑 포인트들을 삼각측량(214)하여, 한 세트의 희소 3-D 맵 포인트들(202)이 유도될 수 있다. 이것은 "맵"으로서 저장될 수 있고, 이들 제1 프레임들은 "세계" 좌표계 원점(208)을 설정하기 위해 활용될 수 있다. 카메라들로부터 후속적 이미지 정보가 임베딩된 프로세서로 들어올 때, 시스템은 3-D 맵 포인트들을 새로운 이미지 정보에 투사하고 그 이미지 정보에서 검출되어진 2-D 피처들의 위치들과 비교하도록 구성될 수 있다. 따라서 시스템은 2D-3D 대응을 설정하려 시도하도록 구성될 수 있고, 그리고 그러한 대응들의 그룹, 이를테면 그것들 중 약 6개를 사용하여, 사용자의 머리(머리 장착 디바이스(58)에 물론 커플링됨)의 포즈가 추정될 수 있다. 더 많은 수의 대응들, 이를테면 6개 초과의 대응들은 일반적으로 포즈를 추정하는 더 나은 작업을 의미한다. 물론 이런 분석은 현재 이미지들이 조사되기 전에 사용자의 머리가 (예컨대, 포지션 및 배향의 측면에서) 있었던 곳의 일부 감지를 갖는 것에 의존한다. 시스템이 너무 큰 레이턴시없이 추적할 수 있는 한, 시스템은 가장 최근 데이터로 머리가 어디에 있는지를 추정하기 위해서 가장 바로 직전 시간으로부터의 포즈 추정을 사용할 수 있다. 따라서 마지막 프레임은 원점이었고, 시스템은 사용자의 머리가 포지션 및/또는 배향 측면에서 그것으로부터 멀리 있지 않다고 추정하도록 구성될 수 있고, 현재 시간 인터벌 동안에 대응들을 찾기 위해서 그것 주위를 서치할 수 있다. 이는 추적 구성의 일 실시예의 기초이다.
[0151] 오리지널 세트의 맵 포인트들(202)로부터 충분히 멀리 움직인 후에, 카메라 이미지들(204, 206) 중 하나 또는 둘 모두는 새롭게 인입하는 이미지들에서 맵 포인트들을 잃기 시작할 수 있다(예컨대, 만약 사용자의 머리가 공간에서 오른쪽으로 회전하고 있다면, 오리지널 맵 포인트들은 왼쪽으로 사라지기 시작할 수 있고 왼쪽 이미지에서 단지 나타날 수 있으며 그런다음 더 이상의 회전은 결코 없다). 일단 사용자가 오리지널 세트의 맵 포인트들로부터 너무 멀리 회전하였다면, 시스템은 이를테면 위에서 설명된 것과 유사한 프로세스(피처들을 검출하고, 새로운 맵 포인트들을 생성)를 사용함으로써 새로운 맵 포인트들을 생성하도록 구성될 수 있다 ― 이는 시스템이 맵을 계속 파퓰레이팅하도록 어떻게 구성될 수 있는지의 예이다. 일 실시예에서, 이런 프로세스는, 사용자가 그의 환경에 대해 그의 머리를 얼마나 많이 전환 및/또는 회전하고 그로인해 연관된 카메라들을 전환 및/또는 회전시키는지에 따라 매 10 내지 20개의 프레임들마다 다시 반복될 수 있다. 새롭게 생성된 맵핑 포인트들과 연관된 프레임들은 "키 프레임들"로 간주될 수 있고, 시스템은 키 프레임들로 피처 검출 프로세스를 지연시키도록 구성될 수 있거나, 대안적으로 피처 검출은 매치들을 설정하려고 시도하기 위해 각각의 프레임에 대해 수행될 수 있고, 그런다음 시스템이 새로운 키 프레임을 생성할 준비가 될 때, 시스템은 그 연관된 피처 검출을 미리 완료한다. 따라서, 일 실시예에서, 기본 패러다임은 맵을 생성하는 것으로부터 시작할 것이고, 그런다음 시스템이 다른 맵 또는 그것의 부가적인 부분을 생성할 필요가 있을 때까지 추적할 것이다.
[0152] 도 27을 참조하면, 일 실시예에서, 비전-기반 포즈 계산은 임베딩된 프로세서 구성들에 대한 정밀도 및 최적화를 보조하기 위해서 5개의 스테이지들(예컨대, 사전-추적(216), 추적(218), 저-레이턴시 맵핑(220), 레이턴시-허용 맵핑(222), 사후 맵핑/클린업(224))로 분할될 수 있고, 여기서 컴퓨테이션, 전력, 및 감지 자원들은 제한될 수 있다. 비전-기반 포즈 계산은 로컬 프로세싱 및 데이터 모듈(70) 또는 원격 프로세싱 및 데이터 모듈(72, 74)에 의해서 수행될 수 있다.
[0153] 사전추적(216)에 관해, 시스템은, 이미지 정보가 도달하기 전에 어느 맵 포인트들이 이미지로 투사되는지를 식별하도록 구성될 수 있다. 다른 말로, 시스템은, 시스템이 사용자가 전에 어디에 있었는지를 알고, 감지를 갖고 있거나 또는 사용자가 어디로 가고 있는지를 안다는 것을 고려해볼 때, 어느 맵 포인트들이 이미지로 투사될지를 식별하도록 구성될 수 있다. "센서 융합"의 개념이 아래에서 추가로 논의되지만, 시스템이 센서 융합 모듈 또는 기능성으로부터 획득할 수 있는 입력들 중 하나가 IMU("inertial measurement unit") 또는 다른 센서 또는 디바이스로부터의 비교적 빠른 레이트, 이를테면 250 Hz의 "사후 추정" 정보일 수 있다는 것이 본원에서 유의할 가치가 있다(이것은 비전 기반 포즈 계산 연산이 업데이트들을 제공하고 있을 수 있는, 즉 30 Hz에 비해 높은 레이트이다). 따라서, 아래에서 논의되는 바와 같이, 비전 기반 포즈 계산에 비해 IMU 또는 다른 디바이스로부터 유도되는 포즈 정보의 훨씬 더 정밀한 시간적 해상도가 존재할 수 있지만; 디바이스들, 이를테면 IMU들로부터의 데이터가 다소 잡음이 있고 포즈 추정 드리프트에 민감한 경향이 있다는 것이 또한 주목할 만하다. 비교적 짧은 시간 윈도우들, 이를테면 10 내지 15 밀리초 동안, IMU 데이터는 포즈를 예측할 시에 상당히 유용할 수 있으며, 다시, 센서 융합 구성에서 다른 데이터와 조합될 때, 최적화된 전체 결과가 결정될 수 있다.
[0154] 센서 융합 모듈 또는 기능성에서 나오는 포즈 정보는 "포즈 프라이어리(pose prior)"로 지칭될 수 있으며, 이러한 포즈 프라이어리는, 포인트들의 어느 세트들이 현재 이미지로 투사될지를 추정하도록 시스템에 의해 활용될 수 있다. 따라서, 일 실시예에서, 시스템은, 이들 맵 포인트들을 사전 추적하고 그리고 전체 프로세싱의 레이턴시를 감소시키는 것을 돕는 일부 사전-프로세싱을 수행하도록 "사전 추적" 단계(216)에서 구성된다. 3-D 맵 포인트들 각각은 설명자와 연관될 수 있으므로, 시스템은 그들을 고유하게 식별하고 그들을 이미지 내의 구역들에 매칭시킬 수 있다. 예컨대, 만약 정해진 맵 포인트가 그 주위에서 패치를 갖는 피처를 사용함으로써 생성되었다면, 시스템은, 맵 포인트와 함께 그 패치의 일부 외형(semblance)을 유지하도록 구성될 수 있으므로, 맵 포인트가 다른 이미지들 상으로 투사되는 것으로 보여질 때, 시스템은, 맵을 생성하고, 패치 상관을 조사하며, 그들이 동일한 포인트인지를 결정하는 데 사용되는 오리지널 이미지를 되돌아 볼 수 있다. 따라서, 사전-프로세싱에서, 시스템은 맵 포인트들의 일부 양의 페치 및 그 맵 포인트들과 연관된 패치들과 연관되는 일부 양의 사전-프로세싱을 수행하도록 구성될 수 있다. 따라서, 사전-추적(216)에서, 시스템은 맵 포인트들을 사전-페치하고, 이미지 패치들을 사전-워프(pre-warp)시키도록 구성될 수 있다(이미지의 "워프"는 시스템이 맵 포인트와 연관된 패치를 현재 이미지와 매칭시킬 수 있다는 것을 보장하기 위해 수행될 수 있으며; 워프는 비교되는 데이터가 호환적임을 확인하기 위한 방식의 예이다).
[0155] 도 27을 다시 참조하면, 추적 스테이지는 몇몇 컴포넌트들, 이를테면 피처 검출, 광학 흐름 분석, 피처 매칭, 및 포즈 추정을 포함할 수 있다. 인입하는 이미지 데이터에서 피처들을 검출하는 동안, 시스템은 하나 이상의 이전 이미지들로부터 피처들을 따라가려고 시도함으로써 피처 검출에서 컴퓨테이션 시간을 절약하기 위해 광학 흐름 분석을 활용하도록 구성될 수 있다. 일단 피처들이 현재 이미지에서 식별되면, 시스템은 피처들을 투사된 맵 포인트들과 매칭시키려고 시도하도록 구성될 수 있으며 - 이것은 구성의 "피처 매칭" 부분으로 간주될 수 있다. 사전-추적 스테이지(216)에서, 시스템은 바람직하게, 어느 맵 포인트들이 관심있는지를 이미 식별했고 그들을 페치했으며; 피처 맵핑에서, 그들은 현재 이미지로 투사되고, 시스템은 그들을 피처들과 매칭시키려고 시도한다. 피처 맵핑의 출력은 2-D 투 3D 대응들의 세트이며, 이를 손쉽게 이용하여, 시스템은 포즈를 추정하도록 구성된다.
[0156] 사용자가 머리 장착 컴포넌트(58)에 커플링된 자신의 머리 주위를 추적하고 있을 때, 시스템은 바람직하게, 새로운 키 프레임이 필요한지 여부를 결정하기 위해 사용자가 환경의 새로운 구역을 보고 있는지 여부를 식별하도록 구성된다. 일 실시예에서, 새로운 키 프레임이 필요한지 여부의 그러한 분석은 거의 순수하게 지오메트리에 기반할 수 있으며; 예컨대, 시스템은 현재 프레임으로부터 나머지 키 프레임들까지의 거리(예컨대, 병진 운동 거리; 또한, 시야 캡처 재배향 - 사용자의 머리는 병진적으로 가까울 수 있지만, 완전히 새로운 맵 포인트들이 요구될 수 있도록 재배향될 수 있음)를 보도록 구성될 수 있다. 일단 시스템이 새로운 키 프레임이 삽입되어야 한다고 결정했다면, 맵핑 스테이지가 시작될 수 있다. 앞서 주목된 바와 같이, 종래의 SLAM 또는 PTAM 동작에서 보여질 가능성이 있는 단일 맵핑 동작과는 대조적으로, 시스템은 3개의 상이한 동작들(낮은-레이턴시 맵핑, 레이턴시-허용 맵핑, 사후/맵핑 또는 클린업)로서 맵핑을 동작시키도록 구성될 수 있다.
[0157] 새로운 맵 포인트들의 삼각측량 및 생성으로서 단순한 형태로 고려될 수 있는 낮은-레이턴시 맵핑(220)은 중요 스테이지이며, 본원에서 논의된 추적 패러다임이 맵 포인트들에 의존하기 때문에, 시스템은 바람직하게, 그러한 스테이지를 즉시 수행하도록 구성되고, 시스템은 추적하기에 이용가능한 맵 포인트들이 존재하는 경우에만 포지션을 찾는다. "낮은-레이턴시" 명칭은 무단 레이턴시에 대해 어떠한 허용오차도 존재하지 않는다는 개념을 지칭한다(다른 말로, 맵핑의 이러한 부분은 가능한 신속하게 수행될 필요가 있거나 또는 시스템은 추적 문제점을 갖는다).
[0158] 레이턴시-허용 맵핑(222)은 최적화 스테이지로서 단순한 형태로 고려될 수 있다. 전체 프로세스는, 결과에서 글로벌 최적화를 제공하는 "번들 조정"으로서 알려진 이러한 동작을 수행하도록 낮은 레이턴시를 절대적으로 요구하지는 않는다. 시스템은 3-D 포인트들의 포지션들 뿐만 아니라 그들이 어느 곳으로부터 관측되었는지를 조사하도록 구성될 수 있다. 맵 포인트들을 생성하는 프로세스에서 함께 체이닝될 수 있는 많은 에러들이 존재한다. 번들 조정 프로세스는, 예컨대, 2개의 상이한 뷰 위치들로부터 관측되었던 특정 포인트들을 취하고, 실제 3-D 지오메트리의 더 양호한 감지를 획득하기 위해 이러한 정보 모두를 사용할 수 있다. 결과는, 3-D 포인트들 및 또한, 계산된 궤적(예컨대, 위치, 캡처 카메라들의 경로)이 작은 양만큼 조정될 수 있다는 것일 수 있다. 맵핑/추적 프로세스를 통해 에러들을 누적시키지 않도록 이들 종류들의 프로세스들을 수행하는 것이 바람직하다.
[0159] 사후 맵핑/클린업(224) 스테이지는, 시스템이 맵핑 및 추적 분석에서 가치있는 정보를 제공하지 않는 맵 상의 포인트들을 제거하도록 구성될 수 있는 스테이지이다. 이러한 스테이지에서, 장면에 관한 유용한 정보를 제공하지 않는 이들 포인트들은 제거되며, 그러한 분석은 전체 맵핑 및 추적 프로세스를 스케일러블하게 유지하는 데에 도움이 된다.
[0160] 비전 포즈 계산 프로세스 동안, 외향 카메라들에 의해 뷰잉되는 피처들이 정적인 피처들(예컨대, 글로벌 좌표계에 대해 프레임으로부터 프레임으로 이동되지 않음)이라는 가정이 존재한다. 다양한 실시예들에서, 시맨틱 세그먼트화 및/또는 오브젝트 검출 기법들은 관련있는 필드로부터 움직이는 오브젝트들, 이를테면 인간들, 움직이는 차량들 등을 제거하는 데 활용될 수 있어서, 맵핑 및 추적을 위한 피처들이 다양한 이미지들의 이들 구역들로부터 추출되지 않게 한다. 일 실시예에서, 딥 러닝 기법들, 이를테면 아래에서 설명되는 기법들은 이들 비-정적 오브젝트들을 세그먼트화 아웃시키기 위해 활용될 수 있다.
센서 융합의 예들
[0161] 도 28a 내지 도 28f를 참조하면, 센서 융합 구성은, 비교적 높은 업데이트 빈도를 갖는 센서(이를테면, 빈도, 이를테면 250 Hz의 머리 포즈에 관련된 IMU 업데이팅 자이로스코프, 가속도계, 및/또는 자기력계 데이터)에서 나오는 정보의 하나의 소스 및 더 낮은 빈도로 업데이트되는 다른 정보 소스(이를테면, 빈도, 이를테면 30 Hz로 업데이팅되는 비전 기반 머리 포즈 측정 프로세스)로부터 이익을 얻기 위해 활용될 수 있다. 다양한 실시예들에서, 더 높은 빈도의 센서 데이터는 100 Hz 초과의 빈도들로 이루어지고, 더 낮은 빈도의 센서 데이터는 100 Hz 미만의 빈도들로 이루어진다. 일부 실시예들에서, 더 높은 빈도의 센서 데이터는, 3배, 5배, 10배, 25배, 100배 더 크거나 또는 더 낮은 빈도의 센서가 데이터를 취하는 빈도들보다 큰 빈도들로 이루어진다.
[0162] 도 28a를 참조하면, 일 실시예에서, 시스템은 EKF(extended Kalman filter)(232)를 사용하고, 디바이스에 관한 상당한 양의 정보를 추적하도록 구성될 수 있다. 예컨대, 일 실시예에서, 그것은 32개의 상태들, 이를테면 (예컨대, IMU 자이로스코프로부터의) 각속도, (예컨대, IMU 가속도계들로부터의) 병진운동 가속도, IMU 그 자체에 대한 교정 정보(예컨대, 자이로들 및 가속도계들에 대한 좌표계들 및 교정 팩터들; IMU는 또한 하나 이상의 자기력계들을 포함할 수 있음)를 고려할 수 있다. 따라서, 시스템은 비교적 높은 업데이트 빈도(226), 이를테면 250 Hz로 IMU 측정들을 취할 뿐만 아니라 더 낮은 업데이트 빈도로 일부 다른 소스로부터의 데이터(예컨대, 계산된 비전 포즈 측정, 주행거리측정 데이터 등), 예컨대, 업데이트 빈도, 이를테면 30 Hz로 비전 포즈 측정(228)을 취하도록 구성될 수 있다.
[0163] EKF가 IMU 측정들의 라운드를 획득할 때마다, 시스템은 회전 정보를 획득하기 위해 각속도 정보를 적분하고(예컨대, 각속도의 적분(시간의 변화에 따른 회전 포지션의 변화)은 각도 포지션(각도 포지션의 변화)임); 병진 운동에 대해서도 유사하게 이루어지도록 구성될 수 있다(다른 말로, 병진 운동 가속도의 이중 적분을 수행함으로써, 시스템은 포지션 데이터를 획득할 것이다). 그러한 계산으로, 시스템은 IMU로부터 높은 빈도(예컨대, 일 실시예에서는 250 Hz)로 머리로부터 6 DOF(degree-of-freedom) 포즈 정보(X, Y, Z에서의 병진 운동; 3개의 회전 축들에 대한 배향)를 획득하도록 구성될 수 있다. 적분이 수행될 때마다, 잡음이 데이터에 누적되며; 병진 운동 또는 회전 가속도에 대해 이중 적분을 수행하는 것은 잡음을 전파할 수 있다. 일반적으로, 시스템은 너무 긴 시간 윈도우, 이를테면 일 실시예에서 약 100 밀리초보다 긴 임의의 시간 윈도우 동안의 잡음으로 인해 "드리프트"에 민감한 그러한 데이터에 의존하지 않도록 구성된다. 비전 포즈 측정(228)으로부터의 인입하는 더 낮은 빈도의(예컨대, 일 실시예에서 약 30 Hz로 업데이트되는) 데이터는 EKF(232)에 대한 보정 팩터로서 동작하는 데 활용되어, 보정된 출력(230)을 생성할 수 있다.
[0164] 도 28b 내지 도 28f를 참조하면, 더 높은 업데이트 빈도의 하나의 소스로부터의 데이터가 더 낮은 업데이트 빈도의 다른 소스로부터의 데이터와 어떻게 조합될 수 있는지를 예시하기 위해, 더 높은 빈도, 이를테면 250 Hz의 IMU로부터의 포인트들(234)의 제1 세트가 도시되며, 포인트(238)는 비전 포즈 계산 프로세스로부터 더 낮은 빈도, 이를테면 30 Hz로 인입된다. 시스템은, 그러한 정보가 이용가능할 때 비전 포즈 계산 포인트로 보정(242)하고, 그런다음, IMU 데이터(236)로부터의 더 많은 포인트들, 및 비전 포즈 계산 프로세스로부터 입수가능한 다른 포인트(240)로부터의 다른 보정(244)으로 전방향으로 계속되도록 구성될 수 있다. 이것은, EKF를 사용하여, IMU에서 나오는 데이터의 "전파"에 비전 포즈 데이터를 이용한 "업데이트"를 적용하는 것을 지칭할 수 있다.
[0165] 일부 실시예들에서, 제2 소스로부터의 데이터(예컨대, 이를테면 비전 포즈 데이터)가 더 낮은 업데이트 빈도 뿐만 아니라 일부 레이턴시로 인입될 수 있다는 것이 주목할 만하며, ― 이는, 시스템이 바람직하게, IMU 및 비전 포즈 계산으로부터의 정보가 적분됨에 따라 시간 도메인 조정을 내비게이팅하도록 구성된다는 것을 의미한다. 일부 실시예에서, 시스템이 IMU 데이터의 정확한 시간 도메인 포지션에서 비전 포즈 계산 입력에 융합하는 것을 보장하기 위해, 융합을 수행하고 비전 포즈 계산으로부터의 입력에 관련된 시간에서 "업데이트" 또는 조정을 계산하도록 IMU 데이터의 시간(즉, "Tx")으로 되돌아가고, 그런다음 현재 시간(즉, Tcurrent)에 대한 전방향 전파에서 그것을 고려하기 위해 IMU 데이터의 버퍼가 유지될 수 있으며, 이는 IMU에서 나오는 가장 현재의 데이터와 조정된 포지션 및/또는 배향 데이터 간의 갭을 남긴다. 사용자로의 프리젠테이션에서 너무 많은 "점프" 또는 "지터"가 존재하지 않는 것을 보장하기 위해, 시스템은 스무딩 기법들을 사용하도록 구성될 수 있다. 이러한 이슈를 처리하기 위한 하나의 방식은, 조정된 경로 아래로, 융합된 데이터 스트림을 결국 구동시키기 위해 선형, 비선형, 지수 등일 수 있는 가중된 평균 기법들을 사용하는 것이다.
[0166] 도 28c를 참조하면, 예컨대, 가중된 평균화 기법들은, 신호를, 조정되지 않은 경로(252; 예컨대, IMU로부터 직선으로 나옴)로부터 조정된 경로(254; 예컨대, 시각적 포즈 계산 프로세스에서 나오는 데이터에 기반함)로 드라이빙하기 위해, T0과 T1 간의 시간 도메인에 걸쳐 활용될 수 있으며; 일 예가 도 28d에 도시되며, 조정된 경로(252) 및 시간 T0에서 시작하여 조정된 경로(254)로 T1만큼 지수적으로 움직이는 융합된 결과(260)가 도시된다. 도 28e를 참조하면, 각각의 시퀀스에서 상부 경로 경로로부터 더 낮은 경로를 향한 융합된 결과(260)의 지수적 시간 도메인 보정이 있는 일련의 보정 기회들이 도시된다(제1 보정은 제1 경로(252)로부터, 예컨대 IMU로부터, 제2 경로(254)로, 예컨대 비전 기반 포즈 계산으로부터이며; 그런다음, 계속되는 IMU 데이터를 사용하여, 유사한 패턴으로 전방향으로 계속하면서, 이 예에서, 각각의 인입 비전 기반 포즈 계산 포인트를 사용하여, 비전 포즈로부터의 연속적인 포인트들에 기반하여, 연속적인 보정된 더 낮은 경로들(256, 258)을 향해 아래로 보정함). 도 28f를 참조하면, "업데이트들" 또는 보정들 간의 짧은 충분한 시간 윈도우들을 이용 시에, 전체 융합된 결과(260)는 기능적으로, 비교적 스무스하게 패터닝된 결과(262)로서 지각될 수 있다.
[0167] 다른 실시예에서, 비전 포즈 측정에 직접 의존하기보다는, 시스템은 유도 EKF를 조사하도록 구성될 수 있는데; 다른 말로, 비전 포즈 계산 결과를 직접 사용하기 보다는, 시스템은 현재 시간으로부터 이전 시간으로의 비전 포즈의 변화를 사용한다. 그러한 구성은, 예컨대, 만약 비전 포즈 차이의 잡음의 양이 절대 비전 포즈 측정의 잡음의 양보다 훨씬 더 적다면, 추구될 수 있다. 융합된 결과를 스로잉 오프(throwing off) 시에 순간적인 에러들을 갖지 않는 것이 바람직한데, 왜냐하면, 이 모든 것의 출력이 포즈이고, 이는 "포즈 프라이어" 값들로서 비전 시스템에 다시 전송되기 때문이다.
[0168] 비록 소정의 실시예들이 EKF를 사용할지라도, 다른 실시예들은 상이한 추정 알고리즘들, 이를테면, 예컨대, 분산점 칼만 필터(unscented Kalman filter)들, 선형 칼만 필터들, 베이지안 모델들, 은닉 마르코프 모델들, 입자 필터들, 순차적 몬테카를로 모델들, 또는 다른 추정 기법들을 사용할 수 있다.
예시적인 포즈 서비스
[0169] 포즈 결과의 외부 시스템-기반 "소비자"는 "포즈 서비스"로 지칭될 수 있으며, 시스템은, 임의의 정해진 시간에 포즈를 요청할 때, 모든 다른 시스템 컴포넌트들이 포즈 서비스에 활용(tap into)되도록, 구성될 수 있다. 포즈 서비스는 큐 또는 스택(예컨대, 버퍼)으로 구성될 수 있으며, 시간 슬라이스들의 시퀀스들에 대한 데이터를 가지며, 일 단부는 최신 데이터를 갖는다. 만약 포즈 서비스의 요청이 현재의 포즈, 또는 버퍼에 있는 일부 다른 포즈라면, 이는 즉시 출력될 수 있으며; 소정의 구성들에서, 포즈 서비스는, 지금으로부터 시간 상 앞으로 20 밀리초에 포즈가 어떻게 될 것인지에 대한 요청을 수신할 것이다(예컨대, 비디오 게임 콘텐츠 렌더링 시나리오에서, 관련된 서비스가, 지금으로부터 약간 향후에, 정해진 포지션 및/또는 배향에서 무엇인가를 렌더링할 필요가 있음을 아는 것이 바람직할 수 있음). 향후 포즈 값을 생성하기 위한 하나의 모델에서, 시스템은, 일정 속도 예측 모델(예컨대, 사용자의 머리가 일정 속도 및/또는 각속도로 움직이고 있음을 가정함)을 사용하도록 구성될 수 있으며; 향후 포즈 값을 생성하기 위한 다른 모델에서, 시스템은, 일정 가속도 예측 모델(예컨대, 사용자의 머리가 일정 가속도로 전환 및/또는 회전하고 있음을 가정함)을 사용하도록 구성될 수 있다. 데이터 버퍼의 데이터는, 포즈가 그러한 모델들을 사용할 위치를 외삽하는 데 활용될 수 있다. 일정 가속도 모델은, 일정 속도 모델보다, 예측을 위해 버퍼의 데이터에 약간 더 긴 꼬리(a bit longer tail)를 사용하며, 우리는, 피험자 시스템들이 실질적인 저하 없이 향후 20 밀리초 범위로 예측할 수 있음을 발견하였다. 따라서, 포즈 서비스는, 포즈를 출력하기 위해 활용될 수 있는 데이터의 측면에서, 시간 상 뒤로 되돌아가는 것뿐만 아니라 약 20 밀리초 또는 그 이상으로 앞으로 진행되는 데이터 버퍼를 갖도록 구성될 수 있다. 동작적으로, 콘텐츠 동작들은 일반적으로, 다음 프레임 인출이 시간 상 언제 올 것인지를 식별하도록 구성될 것이다(예컨대, 시간 T에서 또는 시간 T+N에서 인출하도록 시도할 것이며, N은 포즈 서비스로부터 입수가능한 업데이트된 데이터의 다음 인터벌임).
[0170] 사용자를 향하는(예컨대, 내향, 이를테면, 사용자의 눈들을 향함) 카메라들, 이를테면, 도 16b에 묘사된 것들(14)의 사용은, 예컨대 미국 특허 출원 시리얼 번호 제14/707,000호 및 제15/238,516호에서 설명된 바와 같이, 눈 추적을 수행하는 데 활용될 수 있으며, 이 미국 특허 출원들은 이로써 인용에 의해 그 전체가 본원에 포함된다. 시스템은, 눈 추적에서 몇몇 단계들을 수행하도록 구성될 수 있는데, 이를테면, 첫 번째로, 사용자의 눈의 이미지를 취하고; 그런다음, 눈의 해부학적 구조를 세그먼트화(예컨대, 홍채로부터, 공막으로부터, 주변 피부로부터 동공을 세그먼트화)하기 위해 세그먼팅 분석을 사용하고; 그런다음, 시스템은 눈의 이미지들에서 식별된 글린트(glint) 위치들을 사용하여 동공 중심을 추정하도록 구성될 수 있고, 글린트들은, 머리 장착 컴포넌트(58)의 내향 측 둘레에 배치될 수 있는 소형 일루미네이션(illumination) 소스들(16), 이를테면, LED들로부터 기인하며; 이러한 단계들로부터, 시스템은, 기하학적 관계들을 사용하여, 공간 내에서 특정 눈이 응시하고 있는 위치에 관한 정확한 추정을 결정하도록 구성될 수 있다. 그러한 프로세스들은, 특히, 온-보드 임베딩된 프로세서 및 제한된 전력을 특징으로 하는 머리 장착 컴포넌트(58)와 같은 휴대가능 시스템 상에서 이용가능한 자원들을 고려할 때, 두 눈들에 대해 상당히 계산 집약적이다.
[0171] 심층 학습 기법들은 이러한 그리고 다른 컴퓨테이셔널 난제들을 처리하기 위해 트레이닝되고 활용될 수 있다. 예컨대, 일 실시예에서, 심층 학습 네트워크는, 위에서 언급된 눈 추적 패러다임의 세그먼트화 부분을 수행하는 데 활용될 수 있고(예컨대, 심층 컨볼루셔널 네트워크는, 홍채, 동공, 공막, 및 나머지 클래스들로의 왼쪽 및 오른쪽 눈 이미지들의 견고한 픽셀-단위 세그먼트화를 위해 활용될 수 있음), 그 밖의 나머지 모두는 동일하며; 그러한 구성은 프로세스의 많은 계산 집약적 부분들 중 하나를 취하여, 이를 상당히 더 효율적이게 만든다. 다른 실시예에서, 하나의 조인트 심층 학습 모델은, 세그먼트화, 동공 검출, 및 글린트 검출을 수행하기 위해 트레이닝되고 활용될 수 있으며(예컨대, 심층 컨볼루셔널 네트워크는 홍채, 동공, 공막, 및 나머지 클래스들로의 왼쪽 및 오른쪽 눈 이미지들의 견고한 픽셀-단위 세그먼트화를 위해 활용될 수 있고; 그런다음, 눈 세그먼트화는 활성적 내향 LED 일루미네이션 소스들의 2-D 글린트 위치들을 좁히기(narrow down) 위해 활용될 수 있음); 그런다음, 시선을 결정하기 위한 지오메트리 계산들이 수행될 수 있다. 그러한 패러다임은 또한, 컴퓨테이션을 간소화한다. 제3 실시예에서, 심층 학습 모델은, 내향 카메라들에서 나오는, 눈들의 2개의 이미지들에 기반하여 시선을 직접적으로 추정하기 위해 트레이닝 및 활용될 수 있으며(예컨대, 그러한 실시예에서, 사용자의 눈들의 픽처들만을 사용하는 심층 학습 모델은, 사용자가 3차원 공간에서 응시하고 있는 위치를 시스템에 알리도록 구성될 수 있고; 심층 컨볼루셔널 네트워크는 홍채, 동공, 공막, 및 나머지 클래스들로의 왼쪽 및 오른쪽 눈 이미지들의 견고한 픽셀-단위 세그먼트화를 위해 활용될 수 있고; 그런다음, 눈 세그먼트화는 활성적 내향 LED 일루미네이션 소스들의 2-D 글린트 위치들을 좁히기 위해 활용될 수 있고; 3-D LED 위치들과 함께 2-D 글린트 위치들은 3-D에서 각막 중심을 검출하는 데 활용될 수 있고; 모든 3-D 위치들은 개개의 카메라 좌표계에 있을 수 있음을 주목하고; 그런다음, 눈 세그먼트화는 또한, 타원 피팅(ellipse fitting)을 사용하여 2-D 이미지에서 동공 중심을 검출하는 데 활용될 수 있고; 오프라인 교정 정보를 사용하여, 2-D 동공 중심은 3-D 시선 포인트에 맵핑될 수 있고, 교정 동안 깊이가 결정되며; 각막 3-D 위치와 3-D 시선 포인트 위치를 연결하는 라인은 그 눈에 대한 시선 벡터임); 그러한 패러다임은 또한, 컴퓨테이션을 간소화하고, 관련된 심층 네트워크는, 왼쪽 및 오른쪽 이미지들이 주어지면, 3-D 시선 포인트를 직접적으로 예측하도록 트레이닝될 수 있다. 그러한 심층 네트워크가 그러한 트레이닝을 수행하는 것에 대한 손실 함수는 단순 유클리드 손실(simple Euclidean loss)일 수 있거나, 또는 눈 모델의 잘-알려진 기하학적 제약들을 또한 포함할 수 있다.
[0172] 또한, 내향 카메라들로부터의 사용자의 홍채의 이미지들을 사용한 생체인식 식별을 위해, 심층 학습 모델들이 포함될 수 있다. 그러한 모델들은 또한, 사용자가 콘택트 렌즈를 착용하고 있는지를 결정하는 데 활용될 수 있는데, 왜냐하면, 그 모델은 내향 카메라들로부터의 이미지 데이터의 푸리에 변환에서 점프 아웃(jump out)될 것이기 때문이다.
[0173] 외향 카메라들, 이를테면, 도 16a에 묘사된 것들(124, 154, 156)의 사용은, 앞서 설명된 바와 같이, 포즈, 이를테면, 사용자가 머리-장착 컴포넌트(58)를 현재 착용하고 있는 환경에 대한 사용자의 머리의 포즈의 결정을 위해, SLAM 또는 PTAM 분석을 수행하기 위해 활용될 수 있다. 대부분의 SLAM 기법들은 위의 실시예들에서 설명된 바와 같이, 기하학적 피처들의 추적 및 매칭에 의존한다. 일반적으로, 외향-카메라들이 코너들, 에지들, 및 다른 피처들을 검출할 수 있는, "텍스처링된" 세계에 있는 것이 도움이 되며; 또한, 장면들에서 검출되는 피처들의 영속성(permanence)/정역학(statics)에 관한 소정의 가정들이 이루어질 수 있으며, SLAM 또는 PTAM 프로세스들을 이용하여 이러한 모든 맵핑 및 추적 분석에 대해 이용가능한 상당한 컴퓨팅 및 전력 자원들을 갖는 것이 도움이 되며; 그러한 자원들은, 휴대가능 또는 웨어러블인 시스템들 중 일부와 같은 소정의 시스템들에 대한 공급이 부족할 수 있고, 이는 제한된 임베딩된 프로세싱 능력들 및 이용가능한 전력을 가질 수 있다.
예시적인 DeepSLAM 네트워크들
[0174] 심층 학습 네트워크들은, 이미지 데이터의 차이들을 관측하기 위해 다양한 실시예들에 통합될 수 있으며, 트레이닝 및 구성에 기반하여, 피험자 시스템의 변동들의 SLAM 분석(SLAM의 맥락에서, 심층 네트워크들은 본원에서 "DeepSLAM" 네트워크들로서 간주될 수 있음)에서 중요한 역할을 할 수 있다.
[0175] 일 실시예에서, DeepSLAM 네트워크는, 증강 현실 시스템의 머리 장착 컴포넌트(58)와 같은, 추적될 컴포넌트에 커플링된 카메라들로부터 캡처된 한 쌍의 프레임들의 간의 포즈를 추정하기 위해 활용될 수 있다. 시스템은, 포즈(예컨대, 머리 장착 컴포넌트(58)의 포즈)의 변환을 학습하고 이를 추적 방식으로 적용하도록 구성된 컨볼루셔널 뉴럴 네트워크를 포함할 수 있다. 시스템은, 알려진 원점에서 직선으로 앞으로(그러므로, X, Y, Z로서 0,0,0) 보는 것과 같이, 특정 벡터 및 배향을 보기 시작하도록 구성될 수 있다. 그런다음, 사용자의 머리는, 예컨대, 포즈 변환 또는 상대적 포즈 변환을 추구하는 목표로, 프레임 0과 프레임 1 간에, 오른쪽으로 1 비트, 그런다음 왼쪽으로 1 비트 움직일 수 있다. 연관된 심층 네트워크는, 예컨대 한 쌍의 이미지들에 대해 트레이닝될 수 있으며, 우리는 포즈 A 및 포즈 B와 이미지 A 및 이미지 B를 알고 있고; 이는 소정의 포즈 변환을 유도한다. 그런다음, 포즈 변환이 결정되면, (앞서 논의된 바와 같이, 가속도계들, 자이로들 등으로부터의) 연관된 IMU 데이터를 포즈 변환에 통합할 수 있고, 사용자가 원점으로부터 멀리, 룸 주변으로, 그리고 어떤 궤적에서든 움직일 때 추적을 계속할 수 있다. 그러한 시스템은, 앞서 주목된 바와 같이, 알려진 포즈 정보가 이용가능한, 프레임들의 쌍들에 기반하여 트레이닝되는 "상대적인 포즈 넷(relative pose net)"으로 지칭될 수 있다(변환은 하나의 프레임에서 다른 프레임으로 결정되고, 실제 이미지들의 변동에 기반하여, 시스템은 전환 및 회전의 측면에서, 포즈 변환이 무엇인지를 학습함). 심층 호모그래피 추정, 또는 상대적인 포즈 추정은, 예컨대 미국 특허 출원 시리얼 번호 제62/339,799호에서 논의되었으며, 이 미국 특허 출원은 이로써 인용에 의해 그 전체가 본원에 포함된다.
[0176] 이러한 구성들이 프레임 0에서 프레임 1로 포즈 추정을 수행하기 위해 활용될 때, 결과는 일반적으로 완벽하지 않으며, 시스템은 드리프트를 다루기 위한 방법을 구현할 수 있다. 시스템이 프레임 1에서 2로 3으로 4로 전방향으로 움직이고 상대적인 포즈를 추정할 때, 각각의 쌍의 프레임들 간에 발생하게 되는 적은 양의 에러가 있다. 이 에러는 일반적으로 누적되어 문제점이 된다(예컨대, 이 에러-기반 드리프트를 처리하지 않고 시스템이 사용자 및 사용자와 연관된 시스템 구성 부분을 포즈 추정과 함께 잘못된 위치 및 배향으로 배치하게 될 수 있다). 일 실시예에서, "재로컬화" 문제점으로 불릴 수 있는 것을 해결하기 위해 "루프 폐쇄"의 개념이 적용될 수 있다. 다른 말로, 시스템은 전에 특정 장소에 있었는지를 결정하도록 구성될 수 있으며 ― 만약 그렇다면, 예측된 포즈 정보는 동일한 위치에 대한 이전 포즈 정보를 고려하여 의미가 있어야 한다. 예컨대, 시스템은 전에 본 맵에서 프레임을 볼 때마다 언제든지 재로컬화하도록 구성될 수 있는데; 만약 전환이 가령 X 방향으로 5mm만큼 벗어나고, 회전이 세타 방향으로 5도만큼 벗어난다면, 시스템은 이 불일치를 다른 연관된 프레임들의 불일치들과 함께 수정하여; 궤적가 잘못된 것이 아니라 진정한 것이 된다. 재로컬화는 미국 특허 출원 일련번호 제62/263,529호에서 논의되며, 이 출원은 이로써 그 전체가 본원에 참조로 통합된다.
[0177] 또한, 특히 IMU 정보(예컨대, 앞서 설명된 바와 같이, 이를테면 연관된 가속도계들, 자이로들 등으로부터의 데이터)를 사용함으로써, 포즈가 추정될 때, 결정된 포지션 및 배향 데이터에 잡음이 존재하는 것으로 나타난다. 만약 그러한 데이터가 이미지들을 제공하기 위한 추가 프로세싱 없이 시스템에 의해 직접 활용된다면, 예컨대, 사용자가 경험하는 원하지 않는 지터 및 불안정성이 있을 가능성이 있으며; 이런 이유로 소정의 기법들, 이를테면 위에서 설명된 것들 중 일부에서, 칼만 필터들, 센서 융합 기법들 및 스무딩 함수들이 활용될 수 있다. 딥 네트워크 솔루션들, 이를테면 포즈를 추정하기 위해 컨볼루셔널 뉴럴 네트워크들을 사용하여 위에서 설명된 것들을 사용하면, 스무딩 이슈는 긴 단기 메모리 네트워크와 유사한 RNN(recurrent neural network)을 사용하여 처리될 수 있다. 다른 말로, 시스템은 컨볼루셔널 뉴럴 네트워크를 구축하도록 구성될 수 있으며, 그 최상부에 RNN이 배치된다. 통상의 뉴럴 네트워크들은 시간상 정적인 설계로 피드 포워드되는데; 이미지 또는 이미지들의 쌍이 정해지면, 이들이 답을 준다. RNN을 사용하면, 계층의 출력이 다음 입력에 부가되고 동일한 계층으로 다시 피드백되는데 ― 이 계층은 전형적으로 네트워크의 유일한 계층이고; "통과 시간"으로 구상될 수 있음 ― 각각의 시점에서, 동일한 네트워크 계층은 약간 일시적으로 튜닝된 입력을 재고하고 있고, 이 사이클이 반복된다. 또한, 피드 포워드 네트워크들과 달리, RNN은 값들의 시퀀스를 (예컨대, 시간에 따라 시퀀싱된) 입력으로서 수신할 수 있으며 ― 또한 값들의 시퀀스를 출력으로서 생성할 수 있다. 피드백 루프로 구축된 RNN의 간단한 구조는 RNN이 예측 엔진처럼 거동할 수 있게 하며, 이 실시예에서 컨볼루셔널 뉴럴 네트워크와 조합될 때의 결과는, 시스템이 컨볼루셔널 뉴럴 네트워크로부터 비교적 잡음이 있는 궤적 데이터를 취하여, 이를 RNN을 통해 푸시할 수 있으며, 시스템은 훨씬 더 스무스하고, 인간 모션, 이를테면 웨어러블 컴퓨팅 시스템의 머리 장착 컴포넌트(58)에 커플링될 수 있는 사용자의 머리의 모션과 훨씬 더 유사한 궤적을 출력할 것이라는 점이다.
[0178] 시스템은 또한 이미지들의 스테레오 쌍으로부터 오브젝트의 깊이를 결정하도록 구성될 수 있는데, 여기서는 딥 네트워크를 가지며, 왼쪽 및 오른쪽 이미지들이 입력된다. 컨볼루셔널 뉴럴 네트워크는 왼쪽 카메라와 오른쪽 카메라 간의(이를테면, 머리 장착 컴포넌트(58) 상의 왼쪽 눈 카메라와 오른쪽 눈 카메라 간의) 차이를 출력하도록 구성될 수 있으며; 만약 카메라들의 초점 거리가 알려진다면, 결정된 차이는 깊이의 역이므로, 시스템은 차이 정보를 갖는 깊이를 효율적으로 계산하도록 구성될 수 있고; 그런다음 비교적 높은 컴퓨팅 및 전력 자원 부하들을 요구할 수 있는, 깊이를 감지하기 위한 대안적인 컴포넌트들, 이를테면 깊이 센서들을 수반하지 않고 메싱 및 다른 프로세스들이 수행될 수 있다.
[0179] 피험자 증강 현실 구성들의 다양한 실시예들에 대한 딥 네트워크들의 적용 및 시맨틱 분석과 관련하여, 제스처들 및 키포인트들의 검출, 얼굴 인식 및 3-D 오브젝트 인식을 포함(그러나 이에 제한되지 않음)하여, 몇몇의 영역들이 특히 중요하고 적용 가능성이 있다.
[0180] 제스처 인식에 관련하여, 다양한 실시예들에서 시스템은 시스템을 제어하기 위해 사용자의 손들에 의한 소정의 제스처들을 인식하도록 구성된다. 일 실시예에서, 임베딩된 프로세서는 사용자에 의한 소정의 제스처들을 인식하기 위해 감지된 깊이 정보와 함께 "랜덤 포레스트들"로서 알려진 것들을 활용하도록 구성될 수 있다. 랜덤 포레스트 모델은, 파라미터들의 상당히 큰 라이브러리를 사용할 수 있고 비교적 큰 프로세싱 용량 및 따라서 전력 수요를 사용할 수 있는 비결정적 모델이다. 또한, 깊이 센서들은 소정의 깊이 센서들에 대한 잡음 제한들 및 예컨대, 1 또는 2cm 간의 깊이 차이들을 정확하게 결정할 수 없는 것들로 인해, 소정의 배경들, 이를테면 피험자 손의 깊이 근처에 있는 책상이나 테이블톱들 또는 벽들과 함께 손 제스처들을 판독하는 데 항상 최적으로 적합하지는 않을 수 있다. 특정 실시예들에서, 랜덤 포레스트 타입의 제스처 인식은 딥 러닝 네트워크들로 교체될 수 있다. 이러한 구성을 위해 딥 네트워크들을 활용하는 데 따르는 난제들 중 하나는 이미지 정보의 부분들, 이를테면 픽셀들을 "손" 또는 "손이 아님"으로서 라벨링하는 데 있으며; 이러한 세그먼트화 난제들을 갖고 딥 네트워크들을 트레이닝하고 활용하는 것은 수백만 개의 이미지들로 세그먼트화들을 하는 것을 요구할 수 있으며, 이는 매우 값 비싸고 시간 소모적이다. 이를 처리하기 위해, 일 실시예에서는, 트레이닝 시간 동안, 열 카메라, 이를테면 군사 또는 보안 목적들을 위해 이용가능한 것들이 종래의 외향 카메라에 커플링될 수 있어, 열 카메라가 이미지의 어느 부분들이 인간 손이 될 정도로 뜨겁고 어느 부분들이 그렇지 않은지를 도시함으로써 본질적으로 "손" 및 "손이 아님"의 세그먼트화를 한다.
[0181] 얼굴 인식과 관련하여, 그리고 피험자 증강 현실 시스템이 다른 사람들과의 소셜 세팅으로 착용되도록 구성된다는 점을 고려해볼 때, 사용자 주위에 누가 있는지를 이해하는 것은 ― 단순히 다른 인근 사람들을 식별하기 위해서뿐만 아니라, 제공된 정보를 조정하기 위해서도 ― 비교적 높은 가치가 있을 수 있다(예컨대, 만약 시스템이 인근 사람을 성인 친구로서 식별한다면, 이는 체스를 플레이하자고 제안하고 그것을 보조할 수 있고; 만약 시스템이 인근 사람을 자신의 자녀로 식별한다면, 당신이 가서 축구를 하라고 제안할 수 있으며 그것을 보조할 수 있으며; 만약 시스템이 인근 사람을 식별하는 데 실패하거나 그들을 알려진 위험으로서 식별한다면, 사용자는 그러한 사람과의 근접을 회피하는 경향이 있을 수 있다). 특정 실시예들에서, 딥 재로컬화와 관련하여 앞서 논의된 것과 유사한 방식으로, 딥 뉴럴 네트워크 구성들이 얼굴 인식을 보조하기 위해 활용될 수 있다. 모델은 사용자의 삶에 관련된 복수의 상이한 얼굴들로 트레이닝될 수 있고, 그런다음 얼굴이 시스템 근처, 이를테면 머리 장착 컴포넌트(58) 근처에 올 때, 시스템은 픽셀 공간에서 그 얼굴 이미지를 취하고, 이를 예컨대, 128-차원 벡터로 전환하며, 그런다음 고차원 공간 내의 포인트들로서 벡터들을 사용하여 이 사람이 자신의 사람들의 알려진 리스트에 존재하는지 여부를 파악할 수 있다. 본질적으로, 시스템은 그 공간에서 "가장 가까운 이웃" 서치를 수행하도록 구성될 수 있으며, 나타나는 바와 같이, 이러한 구성은 매우 정확할 수 있으며, 허위 포지티브 레이트들은 1,000 중 1 범위로 이어진다.
[0182] 3-D 오브젝트 검출과 관련하여, 특정 실시예들에서는, 3-차원 관점으로부터(예컨대, 벽들, 바닥들, 천장뿐만 아니라, 룸을 파퓰레이팅하는 오브젝트들, 이를테면 소파들, 의자들, 캐비닛들 등 ― 통상의 2-차원 의미에서가 아니라 진정한 3-차원 의미에서) 사용자들이 있는 공간에 관해 사용자에게 알려줄 통합된 딥 뉴럴 네트워크를 갖는 것이 유용하다. 예컨대, 일 실시예에서는, 사용자가 룸 내의 소파의 진정한 볼륨 경계들을 이해하는 모델을 갖는 것이 바람직한데 ― 따라서 사용자는 예컨대, 가상 공 또는 다른 오브젝트가 던져지게 되는 경우, 소파의 볼륨에 의해 얼마나 볼륨이 점유되는지를 알게 된다. 딥 뉴럴 네트워크 모델은 고레벨의 정교함을 가진 직육면체 모델을 형성하는데 활용될 수 있다.
[0183] 특정 실시예들에서는, 사용자가 직접 에이전트에 말할 필요 없이, 에이전트가 특정한 콘텍스트에서 무엇을 수행하고 있어야 하는지를 효과적으로 학습하기 위해 딥 강화 네트워크들 또는 딥 강화 학습이 활용될 수 있다. 예컨대, 만약 사용자가 자신이 점유하고 있는 룸 주위를 자신의 개가 걷고 있는 것의 가상 표현을 항상 갖기를 원하지만, 사용자가 개 표현이 (예컨대, 벽이나 캐비닛 뒤에 가려지지 않고) 항상 가시적이길 원한다면, 딥 강화 접근법은 시나리오를 게임의 종류들로 전환할 수 있는데, 여기서 가상 에이전트(여기서는 가상 개)는 사용자 근처의 물리적 공간에서 돌아다니는 것이 허용되지만, 트레이닝 시간 동안, 만약 개가 가령 T0에서 T1까지 수용가능한 위치들에 머무른다면 리워드가 주어지고, 만약 개의 사용자 뷰가 가려지거나 손실되거나, 개가 벽이나 오브젝트에 충돌한다면 패널티가 주어진다. 그러한 실시예에서, 딥 네트워크는 포인트들을 잃기보다는 포인트들을 획득하기 위해 무엇이 필요한지를 학습하기 시작하고, 원하는 기능을 제공하기 위해 무엇을 알 필요가 있는지를 이내 알게 된다.
[0184] 시스템은 또한 사용자 주위의 실제 세계의 조명을 근사화하거나 매칭시키는 방식으로 가상 세계의 조명을 처리하도록 구성될 수 있다. 예컨대, 증강 현실에서 가능한 한 최적으로 실제 지각과 가상 지각을 조화시키기 위해, 조명 컬러, 쉐도잉 및 조명 벡터링이 가상 오브젝트들과 가능한 한 현실적으로 재생된다. 다른 말로, 만약 가상 불투명한 커피잔이 실세계 테이블 상의 실세계 오브젝트들로부터 쉐도잉을 생성하는 룸의 하나의 특정 코너로부터 나오는 노르스름한 색조의 광이 있는 룸 내의 실제 테이블톱 위에 포지셔닝된다면, 최적으로 가상 커피잔의 광 색조 및 쉐도잉이 실제 시나리오와 매칭할 것이다. 특정 실시예들에서, 시스템 컴포넌트가 배치되는 실제 환경의 조명을 학습하는데 딥 러닝 모델이 활용될 수 있다. 예컨대, 실제 환경으로부터 이미지 또는 이미지들의 시퀀스들이 주어지면, 룸의 조명을 학습하여 팩터들, 이를테면 하나 이상의 광원들에 의한 밝기, 색조 및 벡터링을 결정하는 모델이 활용될 수 있다. 그러한 모델은 합성 데이터로부터, 그리고 사용자의 디바이스로부터, 이를테면 사용자의 머리 장착 컴포넌트(58)로부터 캡처된 이미지들로부터 트레이닝될 수 있다.
예시적인 히드라 뉴럴 아키텍처
[0185] 도 29를 참조하면, "히드라 뉴럴" 아키텍처(272)로 불릴 수 있는 딥 러닝 네트워크 아키텍처가 예시된다. 이러한 구성으로, 다양한 입력들(270), 이를테면 (가속도계들, 자이로들, 자력계들로부터의) IMU 데이터, 외향 카메라 데이터, 깊이 감지 카메라 데이터 및/또는 사운드 또는 음성 데이터가, 전체 프로세싱의 상당한 부분을 수행하여, 이들의 결과들을 그룹 또는 복수의 중간 계층들(266)에, 그리고 궁극적으로는 다양한 프로세스 기능성들, 이를테면 얼굴 인식, 시각적 서치, 제스처 식별, 시맨틱 세그먼트화, 오브젝트 검출, 조명 검출/결정, SLAM, 재로컬화, 및/또는 (이를테면, 앞서 논의된 바와 같이 스테레오 이미지 정보로부터의) 깊이 추정을 표현하는 복수의 연관된 “머리들”(264) 중 하나 이상에 전달하는 그룹 또는 복수의 하위 계층들(268)을 갖는 다층 중앙집중형 프로세싱 자원으로 채널링될 수 있다. 제스처, 오브젝트, 리로케이션 또는 깊이(또는 기능성들 중 임의의 기능성과 연관된 임의의 상태)의 발생, 결정 또는 식별은 특정 기능성과 연관된 이벤트로서 지칭될 수 있다. 웨어러블 디스플레이 시스템들에서, 히드라 뉴럴 아키텍처는 다양한 실시예들에서 로컬 프로세싱 및 데이터 모듈(70) 또는 원격 프로세싱 모듈 및 데이터 저장소(72, 74) 상에서 구현되고 이들에 의해 수행될 수 있다. 복수의 하위 계층들(268) 및 중간 계층들(266)은 복수의 중간 계층들로서 지칭될 수 있다.
[0186] 통상적으로, 다양한 임무들을 달성하기 위해 딥 네트워크들을 사용할 때, 알고리즘이 각각의 임무에 대해 구축될 것이다. 따라서, 만약 오토모빌들을 인식할 것이 원해진다면, 알고리즘은 그것을 위해 구축될 것이고; 만약 얼굴들을 인식할 것이 원해진다면, 알고리즘은 그것을 위해 구축될 것이며; 그리고 이들 알고리즘들은 동시적으로 실행될 수 있다. 만약 무제한 또는 고레벨들의 전력 및 컴퓨테이션 자원이 이용가능하다면, 그러한 구성은 잘 작동하고 결과들을 얻을 것이지만; 이를테면, 임베딩된 프로세서에서의 제한된 프로세싱 성능 및 제한된 전력 공급을 갖는 휴대가능 증강 현실 시스템의 시나리오와 같은 많은 시나리오들에서, 컴퓨팅 및 전력 자원들은 비교적 제한될 수 있으며, 그리고 임무들의 소정의 양상들을 함께 프로세싱하는 것이 바람직할 수 있다. 또한, 만약 하나의 알고리즘이 다른 알고리즘으로부터의 지식을 갖는다면, 일부 실시예들에서, 이는 제 2 알고리즘을 더 양호하게 할 수 있다. 예컨대, 만약 하나의 딥 네트워크 알고리즘이 개들 및 고양이들에 관해 알고 있다면, 그것으로부터의 지식 전달(또한 "도메인 적응"이라 지칭됨)은 다른 알고리즘이 신발들을 더 잘 인식하는 것을 도울 수 있다. 따라서, 트레이닝 및 추론 동안 알고리즘들 간에 어떠한 종류의 누화를 갖는 이유가 있다.
[0187] 또한, 알고리즘 설계 및 수정과 관련된 고려사항이 있다. 바람직하게는, 만약 알고리즘의 초기 버전에 비해 추가의 성능들이 필요하다면, 새로운 것을 맨 처음부터 완전히 다시 구축할 필요가 없을 것이다. 묘사된 히드라 아키텍처(272)는 이러한 난제들뿐만 아니라 컴퓨팅 및 전력 효율성 난제를 처리하는 데 활용될 수 있는데, 왜냐하면, 앞서 주목된 바와 같이, 이는 공유될 수 있는 소정의 컴퓨팅 프로세스들의 공통 양상들이 있는 경우이기 때문이다. 예컨대, 묘사된 히드라 아키텍처(272)에서, 입력들(270), 이를테면 하나 이상의 카메라들로부터의 이미지 정보는 하위 계층들(268)로 전달될 수 있으며, 여기에서는, 비교적 저레벨에 대한 피처 추출이 수행될 수 있다. 예컨대, Gabor 함수들, Gaussian들의 파생물들, 기본적으로 라인들, 에지들, 코너들, 컬러들에 영향을 주는 것들 - 이들은 저레벨에서의 많은 문제들에 대해 균일하다. 따라서, 임무 변동과 관계없이, 저레벨 피처 추출은, 고양이들, 승용차들, 또는 소들을 추출하는 목적이든지 간에 상관없이 동일할 수 있으며, 따라서, 이와 관련된 컴퓨테이션이 공유될 수 있다. 히드라 아키텍처(272)는 고-레벨 패러다임으로서, 이는 알고리즘들에 걸친 지식 공유를 통해 각각이 더 향상될 수 있게 하고, 컴퓨테이션이 공유되고, 감소되고, 그리고 리던던트하지 않을 수 있도록 피처 공유를 허용하며, 그리고 모든 것을 다시 작성할 필요 없이 - 그 보다는, 기존 성능들을 기반으로 새로운 성능들이 스택될 수 있음 - 성능들의 스위트를 확장시킬 수 있게 한다.
[0188] 따라서, 앞서 주목된 바와 같이, 묘사된 실시예에서, 히드라 아키텍처는 하나의 유니파이드 경로를 갖는 딥 뉴럴 네트워크를 표현한다. 네트워크의 하위 계층들(268)은 공유되며, 이들은 입력 이미지들 및 다른 입력들(270)로부터 시각적 프리미티브(visual primitive)들의 기본 유닛들을 추출한다. 시스템은, 몇 개의 컨벌루션 계층들을 통해, 에지들, 라인들, 윤곽들, 접합점(junction)들 등을 추출하도록 구성될 수 있다. 프로그래머들이 피처-엔지니어링(feature-engineer)하는 데 사용했던 기본 컴포넌트들이 이제는 딥 네트워크에 의해 학습되게 된다. 밝혀진 바와 같이, 이들 특징들은, 알고리즘이 얼굴 인식인지, 추적 등인지 간에 상관없이, 많은 알고리즘들에 대해 유용하다. 따라서, 더 낮은 컴퓨테이셔널 작업이 완료되었고 그리고 다른 모든 알고리즘들로의 이미지들 또는 다른 입력들로부터 공유된 표현이 있으면, 그러면, 문제 또는 기능성마다 하나씩 개별 경로들이 있을 수 있다. 따라서, 이러한 공유된 표현의 최상부(on top of)에는, 아키텍처(272)의 다른 "머리들"(264)에 대해, 얼굴들에 매우 특정적인 얼굴 인식을 유도하는 경로가 있고, SLAM에 매우 특정적인 추적을 유도하는 경로가 있는 식이다. 그러한 실시예에 의해, 기본적으로 덧셈들을 곱하는 것을 허용하는 이러한 모든 공유된 컴퓨테이션을 가지며, 다른 한편으로는, 일반적인 지식의 최상부(on top of)에 있고 그리고 매우 특정한 질문들에 대한 대답들을 미세하게 조정하고 찾을 수 있게 하는 매우 특정한 경로들을 갖는다.
[0189] 그러한 구성에 대해 또한 가치있는 것은, 그러한 뉴럴 네트워크들이, 입력(270)에 더 근접한 하위 계층들(268)이 더 많은 컴퓨테이션을 활용하도록 설계된다는 사실인데, 왜냐하면 컴퓨테이션의 각각의 계층에서, 시스템은 오리지널 입력을 취해서, 이를 전형적으로 사물들의 차원이 감소되는 일부 다른 차원 공간으로 변환하기 때문이다. 따라서, 하위 계층으로부터 네트워크의 다섯 번째 계층이 달성되면, 컴퓨테이션의 양은 최저 레벨에서 활용되었던 것보다 5배, 10배, 20배, 100배 (또는 그 초과) 미만의 범위에 있을 수 있다(이는, 예컨대, 입력이 훨씬 더 컸고 그리고 훨씬 더 큰 매트릭스 곱셈이 사용되었기 때문임). 일 실시예에서, 시스템이 공유된 컴퓨테이션을 추출할 때까지, 이는 해결할 필요가 있는 문제들에 대해 상당히 불가지론적(agnostic)이다. 거의 모든 알고리즘의 컴퓨테이션의 많은 부분이 하위 계층들에서 완료되었으며, 그에 따라, 얼굴 인식, 추적, 깊이, 조명 등을 위해 새로운 경로들이 부가될 때, 이들은 컴퓨테이셔널 제약들에 대해 비교적 적은 기여를 하며, 따라서, 그러한 아키텍처는 확장을 위한 충분한 성능을 제공한다. 일 실시예에서, 처음 몇 개의 계층들에 대해서는, 가장 높은 해상도 데이터를 유지하기 위해 풀링이 없을 수 있고; 중간 계층들은 풀링 프로세스들을 가질 수 있는데, 왜냐하면 그러한 포인트에서는, 고해상도가 필요하지 않기 때문이다(예컨대, 중간 계층에서 승용차의 휠이 어디에 있는지를 알기 위해 고해상도가 필요하지 않고; 네트워크는 일반적으로, 고해상도로 더 낮은 레벨들로부터 너트와 볼트가 어디에 로케이팅되는 지를 알 필요가 있으며, 그러면, 승용차의 휠의 위치에 대해 중간 계층들에 전달될 때 이미지 데이터가 상당히 줄어들 수 있다). 예컨대, 더 낮은 레벨들에서 생성되는 피처들은 제 1 해상도를 갖는 피처들을 포함하며, 그리고 중간 계층들에서 생성되는 피처들은 제 1 해상도보다 낮은 제 2 해상도를 갖는 피처들을 포함한다. 또한, 네트워크가 모든 학습된 연결들을 갖게 되면, 모든 것은 느슨하게 와이어링되며(wired) 그리고 연결들은 데이터를 통해 유리하게 학습된다. 중간 계층들(266)은 파트들, 예컨대, - 오브젝트 파트들, 얼굴 피처들 등을 학습하는 것을 시작하도록 구성될 수 있고; 따라서, 단순한 Gabor 함수들이라기 보다는, 중간 계층들은 더 복잡한 구조들 또는 더 높은 레벨 피처들(예컨대, 구불구불한 형상들, 음영들 등)을 프로세싱하고 있다. 그런다음, 프로세스가 최상부를 향해 더 높게 움직임에 따라, 고유한 머리 컴포넌트들(264)로 분할되며, 이들 중 일부는 많은 계층들을 가질 수 있고, 이들 중 일부는 몇 개만 가질 수 있다. 머리 컴포넌트(264)의 계층들은 머리 컴포넌트 계층들로 지칭될 수 있다. 다시, 확장성 및 효율성은 주로, (예컨대, flops(floating point operations per second)로 측정되는) 프로세싱 전력의 큰 부분, 이를테면 90%가 하위 계층들(268) 내에 있고, 그런다음 flops의 작은 부분, 이를테면 5%가 중간 계층들(266)에 있으며, 그리고 다른 5%가 머리들(264)에 있다는 사실에 기인한다.
[0190] 그러한 네트워크들은 이미 존재하는 정보를 사용하여 사전-트레이닝될(pre-trained) 수 있다. 예컨대, 일 실시예에서, (1000 개 범위의) 큰 그룹의 클래스들로부터의 (1,000 만개 범위의) 큰 그룹의 이미지들인 ImageNet가 모든 클래스들을 트레이닝하는 데 활용될 수 있다. 일 실시예에서, 일단 트레이닝되면, 클래스들을 구별하는 최상부 계층은 버려질 수 있지만, 트레이닝 프로세스에서 학습된 모든 가중치들은 유지된다.
[0191] 히드라 아키텍처(272)로 뉴럴 네트워크를 트레이닝하는 프로세스는 입력 데이터 및 상응하는 타겟 출력 데이터 둘 모두를 네트워크에 제공하는 것을 수반한다. 예시적인 입력들 및 타겟 출력들 둘 모두를 포함하는 이러한 데이터는 트레이닝 세트로서 지칭될 수 있다. 트레이닝 프로세스를 통해, 하위 계층들(268), 중간 계층들(266), 및 머리 컴포넌트들(264)과 연관된 가중치들을 비롯한, 네트워크의 가중치들은, 트레이닝 세트로부터의 특정 입력 데이터가 주어지면, 네트워크의 출력이 그 특정 입력 데이터에 대응하는 타겟 출력에 (예컨대, 가능한 한 근접하게) 매칭하게 되도록, 점진적으로 또는 반복적으로 적응될 수 있다.
예시적인 NN들
[0192] NN(neural network), 이를테면 DNN(deep neural network)의 계층은 자신의 입력에 선형 또는 비-선형 변환을 적용하여 자신의 출력을 생성할 수 있다. 딥 뉴럴 네트워크 계층은 정규화 계층, 컨벌루셔널 계층, 소프트싸인 계층, 교정된(rectified) 선형 계층, 연접 계층, 풀링 계층, 순환 계층, 인셉션-형 계층, 또는 이들의 임의의 조합일 수 있다. 정규화 계층은, 예컨대 L2 정규화에 의해, 자신의 입력의 밝기를 정규화하여 자신의 출력을 생성할 수 있다. 정규화 계층은, 예컨대, 복수의 이미지들의 밝기를 동시에 서로에 대하여 정규화하여, 복수의 정규화된 이미지들을 자신의 출력으로서 생성할 수 있다. 밝기를 정규화하기 위한 방법들의 비-제한적인 예들은 LCN(local contrast normalization) 또는 LRN(local response normalization)을 포함한다. 로컬 콘트라스트 정규화는, 제로의 평균 및 1의 분산(또는 평균 및 분산의 다른 값들)을 갖도록 픽셀 단위로 이미지의 로컬 구역들을 정규화함으로써, 이미지의 콘트라스트를 비선형적으로 정규화할 수 있다. 로컬 응답 정규화는, 제로의 평균 및 1의 분산(또는 평균 및 분산의 다른 값들)을 갖도록 로컬 입력 구역들에 걸쳐 이미지를 정규화할 수 있다. 정규화 계층은 트레이닝 프로세스의 스피드를 높일 수 있다.
[0193] 컨벌루셔널 계층은, 자신의 출력을 생성하기 위해 자신의 입력을 컨벌브하는 한 세트의 커널들을 적용할 수 있다. 소프트싸인 계층은 자신의 입력에 소프트싸인 함수를 적용할 수 있다. 소프트싸인 함수(softsign(x))는, 예컨대, (x / (1 + |x|)) 일 수 있다. 소프트싸인 계층은 엘리먼트별 이상(per-element outlier)들의 영향을 무시할 수 있다. 수정된 선형 계층은 ReLU(rectified linear layer unit) 또는 PReLU(parameterized rectified linear layer unt)일 수 있다. ReLU 계층은, 자신의 출력을 생성하기 위해 자신의 입력에 ReLU 함수를 적용할 수 있다. ReLU 함수 ReLU(x)는, 예컨대, max(0, x) 일 수 있다. PReLU 계층은 자신의 출력을 생성하기 위해 자신의 입력에 PReLU 함수를 적용할 수 있다. PReLU 함수 PReLU(x)는, 예컨대, x if x ≥ 0 및 ax if x < 0 일 수 있으며, 여기서, a는 포지티브 수이다. 연접 계층은 자신의 출력을 생성하기 위해 자신의 입력을 연접시킬 수 있다. 예컨대, 연접 계층은 하나의 20 x 20 이미지를 생성하기 위해 4개의 5 x 5 이미지들을 연접시킬 수 있다. 풀링 계층은, 자신의 출력을 생성하기 위해 자신의 입력을 다운 샘플링하는 풀링 함수를 적용할 수 있다. 예컨대, 풀링 계층은 20 x 20 이미지를 10 x 10 이미지로 다운 샘플링할 수 있다. 풀링 함수의 비-제한적인 예들은 최대 풀링, 평균 풀링, 또는 최소 풀링을 포함한다.
[0194] 시간 포인트 t에서, 순환 계층은 히든 상태 s(t)를 컴퓨팅할 수 있으며, 그리고 순환 연결은, 후속적 시간 포인트 t+1에서, 시간 t에서의 히든 상태 s(t)를 순환 계층에 입력으로서 제공할 수 있다. 순환 계층은, 시간 t에서의 히든 상태 s(t)에 기반하여, 시간 t+1에서 자신의 출력을 컴퓨팅할 수 있다. 예컨대, 순환 계층은 시간 t+1에서 자신의 출력을 컴퓨팅하기 위해, 시간 t에서의 히든 상태 s(t)에 소프트싸인 함수를 적용할 수 있다. 시간 t+1에서의 순환 계층의 히든 상태는, 자신의 입력으로서, 시간 t에서의 순환 계층의 히든 상태 s(t)를 갖는다. 순환 계층은, 예컨대, 자신의 입력에 ReLU 함수를 적용함으로써, 히든 상태 s(t+1)를 컴퓨팅할 수 있다. 인셉션-형 계층은 정규화 계층, 컨벌루셔널 계층, 소프트싸인 계층, 교정된 선형 계층, 이를테면 ReLU 계층 및 PReLU 계층, 연접 계층, 풀링 계층, 또는 이들의 임의의 조합 중 하나 이상을 포함할 수 있다.
[0195] NN 내의 계층들의 수는 상이한 구현들에서 상이할 수 있다. 예컨대, 하위 계층들(268) 또는 중간 계층들(266) 내의 계층들의 수는 50 개, 100 개, 200 개, 또는 그 초과일 수 있다. 딥 뉴럴 네트워크 계층의 입력 타입은 상이한 구현들에서 상이할 수 있다. 예컨대, 계층은 다수의 계층들의 출력을 자신의 입력으로서 수신할 수 있다. 계층의 입력은 5개의 계층들의 출력들을 포함할 수 있다. 다른 예로서, 계층의 입력은 NN의 계층들의 1%를 포함할 수 있다. 계층의 출력은 다수의 계층들의 입력들일 수 있다. 예컨대, 계층은 출력은 5개의 계층들의 입력들로서 사용될 수 있다. 다른 예로서, 계층의 출력은 NN의 계층들의 1%의 입력들로서 사용될 수 있다.
[0196] 계층의 입력 사이즈 또는 출력 사이즈는 상당히 클 수 있다. 계층의 입력 사이즈 또는 출력 사이즈는 n x m 일 수 있으며, 여기서, n은 입력 또는 출력의 폭을 나타내고 m은 높이를 나타낸다. 예컨대, n 또는 m은 11, 21, 31, 또는 그 초과일 수 있다. 계층의 입력 또는 출력의 채널 사이즈들은 상이한 구현들에서 상이할 수 있다. 예컨대, 계층의 입력 또는 출력의 채널 사이즈는 4, 16, 32, 64, 128, 또는 그 초과일 수 있다. 계층의 커널 사이즈는 상이한 구현들에서 상이할 수 있다. 예컨대, 커널 사이즈는 n x m 일 수 있으며, 여기서, n은 커널의 폭을 나타내고 m은 높이를 나타낸다. 예컨대, n 또는 m은 5, 7, 9, 또는 그 초과일 수 있다. 계층의 스트라이드 사이즈는 상이한 구현들에서 상이할 수 있다. 예컨대, 딥 뉴럴 네트워크 계층의 스트라이드 사이즈는 3, 5, 7 또는 그 초과일 수 있다.
부가적인 양상들 및 장점들
[0197] 제1 양상에서, 머리 장착 디스플레이 시스템이 개시된다. 머리 장착 디스플레이 시스템은 상이한 타입들의 센서 데이터를 캡처하기 위한 복수의 센서들; 실행가능한 명령들 및 복수의 센서들에 의해 캡처되는 센서 데이터를 사용하여 사용자와 연관된 복수의 기능성들을 수행하기 위한 딥 뉴럴 네트워크를 저장하도록 구성된 비-일시적 메모리 ― 상기 딥 뉴럴 네트워크는 딥 뉴럴 네트워크의 입력을 수신하기 위한 입력 계층, 복수의 하위 계층들, 복수의 중간 계층들, 및 복수의 기능성들과 연관된 딥 뉴럴 네트워크의 결과들을 출력하기 위한 복수의 머리 컴포넌트들을 포함하며, 입력 계층은 복수의 하위 계층들 중 제1 계층에 연결되며, 복수의 하위 계층들 중 마지막 계층은 중간 계층들 중 제1 계층에 연결되며, 복수의 머리 컴포넌트들 중의 머리 컴포넌트는 머리 출력 노드를 포함하며, 머리 출력 노드는 복수의 중간 계층들로부터 머리 컴포넌트로 고유 경로를 표현하는 복수의 머리 컴포넌트 계층들을 통해 중간 계층들 중 마지막 계층에 연결됨 ―; 복수의 기능성들 중 적어도 하나의 기능성과 관련된 정보를 사용자에게 디스플레이하도록 구성된 디스플레이; 및 복수의 센서들, 비-일시적 메모리 및 디스플레이와 통신하는 하드웨어 프로세서를 포함하며, 하드웨어 프로세서는 복수의 센서들로부터 상이한 타입들의 센서 데이터를 수신하고, 상이한 타입들의 센서 데이터를 사용하여 딥 뉴럴 네트워크의 결과들을 결정하며, 그리고 복수의 기능성들 중 적어도 하나의 기능성들과 관련된 정보를 사용자에게 디스플레이하도록, 실행가능한 명령들에 의해 프로그래밍된다.
[0198] 제2 양상에서, 양상 1의 시스템에 있어서, 복수의 센서들은 관성 측정 유닛, 외향 카메라, 깊이 감지 카메라, 마이크로폰 또는 이들의 임의의 조합을 포함한다.
[0199] 제3 양상에서, 양상 1 또는 2의 시스템에 있어서, 복수의 기능성들은 얼굴 인식, 시각적 서치, 제스처 식별, 시맨틱 세그먼트화, 오브젝트 검출, 조명 검출, 동시적인 로컬화 및 맵핑, 재로컬화 또는 이들의 임의의 조합을 포함한다.
[0200] 제4 양상에서, 양상들 1 내지 3 중 어느 한 양상의 시스템에 있어서, 복수의 하위 계층들은 상이한 타입들의 센서 데이터로부터 하위 레벨 피처들을 추출하도록 트레이닝된다.
[0201] 제5 양상에서, 양상 4의 시스템에 있어서, 복수의 중간 계층들은 추출된 하위 레벨 피처들로부터 상위 레벨 피처들을 추출하도록 트레이닝된다.
[0202] 제6 양상에서, 양상 5의 시스템에 있어서, 머리 컴포넌트는 복수의 이벤트들 중 적어도 하나의 이벤트를 결정하기 위하여 상위 레벨 피처들의 서브세트를 사용한다.
[0203] 제7 양상에서, 양상들 1 내지 6 중 어느 한 양상의 시스템에 있어서, 머리 컴포넌트는 복수의 머리 컴포넌트 계층들을 통해 복수의 중간 계층들의 서브세트에 연결된다.
[0204] 제8 양상에서, 양상들 1 내지 7 중 어느 한 양상의 시스템에 있어서, 머리 컴포넌트는 복수의 머리 컴포넌트 계층들을 통해 복수의 중간 계층들 각각에 연결된다.
[0205] 제9 양상에서, 양상들 1 내지 8 중 어느 한 양상의 시스템에 있어서, 복수의 하위 계층들과 연관된 가중치들의 수는 딥 뉴럴 네트워크와 연관된 가중치들의 50% 초과이며, 복수의 중간 계층들과 연관된 가중치들의 수 및 복수의 머리 컴포넌트들과 연관된 가중치들의 수의 합은 딥 뉴럴 네트워크와 연관된 가중치들의 50% 미만이다.
[0206] 제10 양상에서, 양상들 1 내지 9 중 어느 한 양상의 시스템에 있어서, 복수의 하위 계층들과 연관된 컴퓨테이션은 딥 뉴럴 네트워크와 연관된 총 컴퓨테이션의 50% 초과이며, 복수의 중간 계층들 및 복수의 머리 컴포넌트들과 연관된 컴퓨테이션은 딥 뉴럴 네트워크를 수반하는 컴퓨테이션의 50% 미만이다.
[0207] 제11 양상에서, 양상들 1 내지 10 중 어느 한 양상의 시스템에 있어서, 복수의 하위 계층들, 복수의 중간 계층들 또는 복수의 머리 컴포넌트 계층들은 컨벌루션 계층, 밝기 정규화 계층, 배치 정규화 계층, 교정된 선형 계층, 업샘플링 계층, 연접 계층, 완전히 연결된 계층, 선형적인 완전히 연결된 계층, 소프트싸인 계층, 순환 계층 또는 이들의 임의의 조합을 포함한다.
[0208] 제12 양상에서, 양상들 1 내지 11 중 어느 한 양상의 시스템에 있어서, 복수의 중간 계층들 또는 복수의 머리 컴포넌트 계층들은 풀링 계층을 포함한다.
[0209] 제13 양상에서, 복수의 상이한 타입들의 이벤트들을 결정하기 위해 뉴럴 네트워크를 트레이닝하기 위한 시스템이 개시된다. 시스템은 실행가능한 명령들을 저장한 컴퓨터-판독가능 메모리; 및 하나 이상의 프로세서들을 포함하며, 하나 이상의 프로세서들은, 적어도, 상이한 타입들의 센서 데이터를 수신하며 ― 센서 데이터는 복수의 상이한 타입들의 이벤트들과 연관됨 ―, 입력 데이터로서 상이한 타입들의 센서 데이터를 포함하고 대응하는 타겟 출력 데이터로서 복수의 상이한 타입들의 이벤트들을 포함하는 트레이닝 세트를 생성하며; 그리고 트레이닝 세트를 사용하여 복수의 상이한 타입들의 이벤트들을 결정하기 위해 뉴럴 네트워크를 트레이닝하도록, 실행가능한 명령들에 의해 프로그래밍되며; 뉴럴 네트워크는 뉴럴 네트워크의 입력을 수신하기 위한 입력 계층, 복수의 중간 계층, 및 뉴럴 네트워크의 결과들을 출력하기 위한 복수의 머리 컴포넌트들을 포함하며, 입력 계층은 복수의 중간 계층들 중 제1 계층에 연결되며, 복수의 머리 컴포넌트들 중의 머리 컴포넌트는 머리 출력 노드를 포함하며, 머리 출력 노드는 복수의 머리 컴포넌트 계층들을 통해 중간 계층들 중 마지막 계층에 연결된다.
[0210] 제14 양상에서, 양상 13의 시스템에 있어서, 상이한 타입들의 센서 데이터는 관성 측정 유닛 데이터, 이미지 데이터, 깊이 데이터, 사운드 데이터, 음성 데이터 또는 이들의 임의의 조합을 포함한다.
[0211] 제15 양상에서, 양상 13 또는 14의 시스템에 있어서, 복수의 상이한 타입들의 이벤트들은 얼굴 인식, 시각적 서치, 제스처 식별, 시맨틱 세그먼트화, 오브젝트 검출, 조명 검출, 동시적인 로컬화 및 맵핑, 재로컬화 또는 이들의 임의의 조합을 포함한다.
[0212] 제16 양상에서, 양상들 13 내지 15 중 어느 한 양상의 시스템에 있어서, 복수의 중간 계층들은 복수의 하위 계층들 및 복수의 중간 계층들을 포함하며, 복수의 하위 계층들은 상이한 타입들의 센서 데이터로부터 하위 레벨 피처들을 추출하도록 트레이닝되며, 복수의 중간 계층들은 추출된 하위 레벨 피처들로부터 상위 레벨 피처들을 추출하도록 트레이닝된다.
[0213] 제17 양상에서, 양상들 13 내지 16 중 어느 한 양상의 시스템에 있어서, 머리 컴포넌트는 복수의 머리 컴포넌트 계층들을 통해 복수의 중간 계층들의 서브세트에 연결된다.
[0214] 제18 양상에서, 양상들 13 내지 17 중 어느 한 양상의 시스템에 있어서, 머리 컴포넌트는 복수의 머리 컴포넌트 계층들을 통해 복수의 중간 계층들 각각에 연결된다.
[0215] 제19 양상에서, 양상들 13 내지 18 중 어느 한 양상의 시스템에 있어서, 복수의 중간 계층들, 또는 복수의 머리 컴포넌트 계층들은 컨벌루션 계층, 밝기 정규화 계층, 배치 정규화 계층, 교정된 선형 계층, 업샘플링 계층, 풀링 계층, 연접 계층, 완전히 연결된 계층, 선형적인 완전히 연결된 계층, 소프트싸인 계층, 순환 계층 또는 이들의 임의의 조합을 포함한다.
[0216] 제20 양상에서, 양상들 13 내지 19 중 어느 한 양상의 시스템에 있어서, 하나 이상의 프로세서들은, 적어도, 제2 상이한 타입의 센서 데이터를 수신하며 ― 제2 상이한 타입의 센서 데이터는 제2 상이한 타입의 이벤트들과 연관됨 ―; 입력 데이터로서 제2 상이한 타입의 센서 데이터를 포함하고 대응하는 타겟 출력 데이터로서 제2 상이한 타입의 이벤트들을 포함하는 재트레이닝 세트를 생성하며; 그리고 재트레이닝 세트를 사용하여 제2 상이한 타입의 이벤트들을 결정하기 위해 뉴럴 네트워크를 재트레이닝하도록, 실행가능한 명령들에 의해 추가로 프로그래밍되며, 복수의 머리 컴포넌트들 중 제2 머리 컴포넌트는 제2 상이한 타입의 이벤트들과 연관된 결과들을 출력하기 위한 제2 머리 출력 노드를 포함하며, 머리 출력 노드는 복수의 제2 머리 컴포넌트 계층들을 통해 중간 계층들 중 마지막 계층에 연결된다.
[0217] 제21 양상에서, 양상 20의 시스템에 있어서, 뉴럴 네트워크를 재트레이닝하기 위하여, 하나 이상의 프로세서들은, 적어도, 복수의 제2 머리 컴포넌트 계층들과 연관된 가중치들을 업데이트하도록, 실행가능한 명령들에 의해 프로그래밍된다.
[0218] 제22 양상에서, 양상 20의 시스템에 있어서, 뉴럴 네트워크는 복수의 중간 계층들과 연관된 가중치들을 업데이트하지 않고 재트레이닝된다.
[0219] 제23 양상에서, 양상들 13 내지 22 중 어느 한 양상의 시스템에 있어서, 복수의 상이한 타입들의 센서 데이터는 제2 상이한 타입들의 이벤트들과 연관되며, 하나 이상의 프로세서들은, 적어도, 입력 데이터로서 상이한 타입들의 센서 데이터를 포함하고 대응하는 타겟 출력 데이터로서 제2 상이한 타입의 이벤트들을 포함하는 재트레이닝 세트를 생성하고; 그리고 재트레이닝 세트를 사용하여 제2 상이한 타입의 이벤트들을 결정하기 위하여 뉴럴 네트워크를 재트레이닝하도록, 실행가능한 명령들에 의해 추가로 프로그래밍된다.
[0220] 제24 양상에서, 양상 23의 시스템에 있어서, 뉴럴 네트워크를 재트레이닝하기 위하여, 하나 이상의 프로세서들은, 적어도, 복수의 제2 머리 컴포넌트 계층들과 연관된 가중치들을 업데이트하도록, 실행가능한 명령들에 의해 프로그래밍된다.
[0221] 제25 양상에서, 양상 23 또는 24의 시스템에 있어서, 뉴럴 네트워크는 복수의 중간 계층들과 연관된 가중치들을 업데이트하지 않고 재트레이닝된다.
[0222] 제26 양상에서, 방법이 개시된다. 방법은, 하드웨어 프로세서의 제어하에 있으며, 그리고 상이한 타입들의 트레이닝 센서 데이터를 수신하는 단계 ― 트레이닝 센서 데이터는 복수의 상이한 타입들의 이벤트들과 연관됨 ―, 입력 데이터로서 상이한 타입들의 센서 데이터를 포함하고 대응하는 타겟 출력 데이터로서 복수의 상이한 타입들의 이벤트들을 포함하는 트레이닝 세트를 생성하는 단계; 및 트레이닝 세트를 사용하여 복수의 상이한 타입들의 이벤트들을 결정하기 위해 뉴럴 네트워크를 트레이닝하는 단계를 포함하며, 뉴럴 네트워크는 뉴럴 네트워크의 입력을 수신하기 위한 입력 계층, 복수의 중간 계층, 및 뉴럴 네트워크의 결과들을 출력하기 위한 복수의 머리 컴포넌트들을 포함하며, 입력 계층은 복수의 중간 계층들 중 제1 계층에 연결되며, 복수의 머리 컴포넌트들 중의 머리 컴포넌트는 머리 출력 노드를 포함하며, 머리 출력 노드는 복수의 머리 컴포넌트 계층들을 통해 중간 계층들 중 마지막 계층에 연결된다.
[0223] 제27 양상에서, 양상 26의 방법에 있어서, 상이한 타입들의 트레이닝 센서 데이터는 관성 측정 유닛 데이터, 이미지 데이터, 깊이 데이터, 사운드 데이터, 음성 데이터 또는 이들의 임의의 조합을 포함한다.
[0224] 제28 양상에서, 양상 26 또는 27의 방법에 있어서, 복수의 상이한 타입들의 이벤트들은 얼굴 인식, 시각적 서치, 제스처 식별, 시맨틱 세그먼트화, 오브젝트 검출, 조명 검출, 동시적인 로컬화 및 맵핑, 재로컬화 또는 이들의 임의의 조합을 포함한다.
[0225] 제29 양상에서, 양상들 26 내지 28 중 어느 한 양상의 방법에 있어서, 복수의 중간 계층들은 복수의 하위 계층들 및 복수의 중간 계층들을 포함한다.
[0226] 제30 양상에서, 양상 29의 방법에 있어서, 복수의 하위 계층들은 상이한 타입들의 트레이닝 센서 데이터로부터 하위 레벨 피처들을 추출하도록 트레이닝된다.
[0227] 제31 양상에서, 양상 30의 방법에 있어서, 복수의 중간 계층들은 추출된 하위 레벨 피처들로부터 더 복잡한 구조들을 추출하도록 트레이닝된다.
[0228] 제32 양상에서, 양상들 26 내지 31 중 어느 한 양상의 방법에 있어서, 복수의 하위 계층들과 연관된 가중치들의 수는 뉴럴 네트워크와 연관된 가중치들의 50% 초과이며, 복수의 중간 계층들과 연관된 가중치들의 수 및 복수의 머리 컴포넌트들과 연관된 가중치들의 수의 합은 뉴럴 네트워크와 연관된 가중치들의 50% 미만이다.
[0229] 제33 양상에서, 양상들 26 내지 32 중 어느 한 양상의 방법에 있어서, 뉴럴 네트워크를 트레이닝할 때 복수의 하위 계층들과 연관된 컴퓨테이션은 뉴럴 네트워크를 트레이닝하는 것과 연관된 총 컴퓨테이션의 50% 초과이며, 복수의 중간 계층들 및 복수의 머리 컴포넌트들과 연관된 컴퓨테이션은 뉴럴 네트워크를 수반하는 컴퓨테이션의 50% 미만이다.
[0230] 제34 양상에서, 양상들 26 내지 33 중 어느 한 양상의 방법에 있어서, 복수의 중간 계층들, 또는 복수의 머리 컴포넌트 계층들은 컨벌루션 계층, 밝기 정규화 계층, 배치 정규화 계층, 교정된 선형 계층, 업샘플링 계층, 풀링 계층, 연접 계층, 완전히 연결된 계층, 선형적인 완전히 연결된 계층, 소프트싸인 계층, 순환 계층 또는 이들의 임의의 조합을 포함한다.
[0231] 제35 양상에서, 양상들 26 내지 34 중 어느 한 양상의 방법에 있어서, 방법은 제2 상이한 타입의 트레이닝 센서 데이터를 수신하는 단계 ― 제2 상이한 타입의 트레이닝 센서 데이터는 제2 상이한 타입의 이벤트들과 연관됨 ―; 입력 데이터로서 제2 상이한 타입의 트레이닝 센서 데이터를 포함하고 대응하는 타겟 출력 데이터로서 제2 상이한 타입의 이벤트들을 포함하는 재트레이닝 세트를 생성하는 단계; 및 재트레이닝 세트를 사용하여 제2 상이한 타입의 이벤트들을 결정하기 위해 뉴럴 네트워크를 재트레이닝하는 단계를 더 포함하며, 복수의 머리 컴포넌트들 중 제2 머리 컴포넌트는 제2 상이한 타입의 이벤트들과 연관된 결과들을 출력하기 위한 제2 머리 출력 노드를 포함하며, 머리 출력 노드는 복수의 제2 머리 컴포넌트 계층들을 통해 중간 계층들 중 마지막 계층에 연결된다.
[0232] 제36 양상에서, 양상 35의 방법에 있어서, 뉴럴 네트워크를 재트레이닝하기 위하여, 하나 이상의 프로세서들은, 적어도, 복수의 제2 머리 컴포넌트 계층들과 연관된 가중치들을 업데이트하도록 실행가능한 명령들에 의해 프로그래밍된다.
[0233] 제37 양상에서, 양상 35의 방법에 있어서, 뉴럴 네트워크는 복수의 중간 계층들과 연관된 가중치들을 업데이트하지 않고 재트레이닝된다.
[0234] 제38 양상에서, 양상들 26 내지 37 중 어느 한 양상의 방법에 있어서, 복수의 상이한 타입들의 트레이닝 센서 데이터는 제2 상이한 타입들의 이벤트들과 연관되며, 방법은 입력 데이터로서 상이한 타입들의 트레이닝 센서 데이터를 포함하고 대응하는 타겟 출력 데이터로서 제2 상이한 타입의 이벤트들을 포함하는 재트레이닝 세트를 생성하는 단계; 및 재트레이닝 세트를 사용하여 제2 상이한 타입의 이벤트들을 결정하기 위하여 뉴럴 네트워크를 재트레이닝하는 단계를 더 포함한다.
[0235] 제39 양상에서, 양상들 26 내지 38 중 어느 한 양상의 방법에 있어서, 방법은 상이한 타입들의 트레이닝 센서 데이터에 대응하는 상이한 타입들의 사용자 센서 데이터를 수신하는 단계; 및 뉴럴 네트워크 및 상이한 타입들의 사용자 센서 데이터를 사용하여, 복수의 상이한 타입들의 이벤트들 중의 이벤트를 결정하는 단계를 더 포함한다. 제40 양상에서, 양상 39의 방법은 이벤트와 관련된 정보를 디스플레이하는 단계를 더 포함한다.
[0236] 제40 양상에서, 웨어러블 디스플레이 시스템에 있어서, 웨어러블 디스플레이 시스템은 제1 주파수에서 동작하도록 구성된 제1 센서, 제2 주파수에서 동작하도록 구성된 제2 센서 ― 제2 주파수는 제1 주파수 보다 낮음―, 제1 센서로부터 제1 입력을 그리고 제2 센서로부터 제2 입력을 수신하며, 제1 입력 및 제2 입력을 필터링하며 그리고 필터링된 결과를 출력하도록 프로그래밍된 하드웨어 프로세서를 포함한다. 일부 실시예들에서는, 제2 입력에서 제1 입력을 필터링하기 위하여, 하드웨어 프로세서가 확장 칼만 필터를 활용하도록 프로그래밍된다.
[0237] 제41 양상에서, 웨어러블 디스플레이 시스템에 있어서, 웨어러블 디스플레이 시스템은 복수의 센서들, 및 복수의 센서들 각각으로부터의 입력을 수신하고, 히드라 뉴럴 네트워크 아키텍처를 평가하며 그리고 복수의 기능 출력들을 생성하도록 프로그래밍된 하드웨어 프로세서를 포함한다. 히드라 뉴럴 네트워크는 복수의 센서들 각각으로부터의 입력을 수신하고 복수의 하위-레벨 피처들을 추출하도록 구성된 복수의 하위 계층들, 복수의 하위 계층들로부터의 입력을 수신하고 복수의 상위-레벨 피처들을 추출하도록 구성된 복수의 중간 계층들 ― 상위-레벨 피처들은 하위-레벨 피처들보다 낮은 해상도를 가짐―, 및 중간 계층들로부터의 입력을 수신하고 복수의 기능 출력들을 생성하도록 구성된 복수의 머리들을 포함할 수 있다. 복수의 센서들은 IMU(inertial measurement unit), 외향 카메라, 깊이 센서 또는 오디오 센서를 포함할 수 있다. 복수의 기능 출력들은 얼굴 인식, 시각적 서치, 제스처 식별, 시맨틱 세그먼트화, 오브젝트 검출, 조명, 로컬화 및 맵핑, 재로컬화, 또는 깊이 추정을 포함할 수 있다. 일부 양상들에서, 하위 계층들은 풀링 계층을 포함하지 않는데 반해, 중간 계층들은 풀링 계층을 포함한다. 일부 양상들에서, 히드라 뉴럴 네트워크 아키텍처는 하위 계층들이 뉴럴 네트워크의 컴퓨테이션의 제1 프랙션을 수행하고, 중간 계층들이 뉴럴 네트워크의 컴퓨테이션의 제2 프랙션을 수행하며 그리고 머리들이 뉴럴 네트워크의 컴퓨테이션의 제3 프랙션을 수행하도록 구성되며, 제1 프랙션은 제2 프랙션 또는 제3 프랙션보다 5 내지 100의 범위의 팩터만큼 더 크다.
부가적인 고려사항들
[0238] 본원에서 설명되고 그리고/또는 첨부된 도면들에 도시된 프로세스들, 방법들 및 알고리즘들 각각은 하나 이상의 물리적 컴퓨팅 시스템들, 하드웨어 컴퓨터 프로세서들, 애플리케이션-특정 회로 및/또는 특수 및 특정 컴퓨터 명령들을 실행하도록 구성된 전자 하드웨어에 의해 실행되는 코드 모듈들로 구현되고 전체적으로 또는 부분적으로 이 코드 모듈에 의해 자동화될 수 있다. 예컨대, 컴퓨팅 시스템들은 특정 컴퓨터 명령들로 프로그래밍된 범용 컴퓨터들(예컨대, 서버들) 또는 특수목적 컴퓨터들, 특수 목적 회로들 등을 포함할 수 있다. 코드 모듈은 실행가능 프로그램으로 컴파일링되고 링크되거나, 동적 링크 라이브러리에 설치되거나 또는 해석형 프로그래밍 언어로 작성될 수 있다. 일부 구현들에서, 특정 동작들 및 방법들은 주어진 기능에 특정한 회로에 의해 수행될 수 있다.
[0239] 더욱이, 본 개시내용의 기능성의 특정 구현들은 예컨대 실질적으로 실시간으로 결과들을 제공하기 위하여 수반되는 계산량 또는 계산의 복잡성으로 인해 충분히 수학적으로, 계산적으로 또는 기술적으로 복잡하여, 애플리케이션-특정 하드웨어 또는 하나 이상의 물리적 컴퓨팅 디바이스들(적절히 전문화된 실행가능한 명령들을 활용함)이 그 기능성을 수행하는데 필요할 수 있다. 예컨대, 비디오는 각각이 수백만 픽셀들을 갖는 많은 프레임을 포함할 수 있으며, 상업적으로 적정한 시간량에서 원하는 이미지 프로세싱 태스크 또는 애플리케이션을 제공하기 위해 비디오 데이터를 처리하는데 특수하게 프로그래밍된 컴퓨터 하드웨어가 필요하다.
[0240] 코드 모듈들 또는 임의의 타입의 데이터는 하드 드라이브들, 고체상태 메모리, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 광 디스크, 휘발성 또는 비-휘발성 스토리지, 전술한 것들의 조합들 등을 포함하는 물리적 컴퓨터 스토리지와 같은 임의의 타입의 비-일시적 컴퓨터-판독가능 매체상에 저장될 수 있다. 방법들 및 모듈들 (또는 데이터)은 또한 무선-기반 및 유선/케이블-기반 매체들을 포함하는 다양한 컴퓨터-판독가능 송신 매체들을 통해 일반화된 데이터 신호들로서 (예컨대, 반송파 또는 다른 아날로그 또는 디지털 전파 신호의 부분으로서) 송신될 수 있고 (예컨대 단일 또는 멀티플렉싱된 아날로그 신호의 부분으로서 또는 다수의 이산 디지털 패킷들 또는 프레임들로서) 다양한 형태를 취할 수 있다. 개시된 프로세스들 또는 프로세스 단계들의 결과들은 영구적으로 또는 그렇지 않으면 임의의 타입의 비-일시적 유형의 컴퓨터 스토리지에 저장될 수 있거나 또는 컴퓨터-판독가능 송신 매체를 통해 통신될 수 있다.
[0241] 본원에서 설명되고 그리고/또는 첨부된 도면들에 도시된 흐름도들에서 임의의 프로세스들, 블록들, 상태들, 단계들 또는 기능성들은 프로세스에서의 특정 기능들(예컨대, 논리적 또는 산술적) 또는 단계들을 구현하기 위한 하나 이상의 실행가능한 명령들을 포함하는 코드 모듈들, 세그먼트들 또는 코드의 부분들을 잠재적으로 표현하는 것으로 이해되어야 한다. 다양한 프로세스들, 블록들, 상태들, 단계들 또는 기능성들은 본원에서 제공된 예시적인 예들에 결합되거나, 재배열되거나, 추가되거나 또는 이들로부터 삭제되거나 또는 수정되거나 또는 그렇지 않으면 변경될 수 있다. 일부 실시예들에서, 부가적인 또는 상이한 컴퓨팅 시스템들 또는 코드 모듈들은 본원에서 설명된 기능성들의 일부 또는 전부를 수행할 수 있다. 본원에서 설명된 방법들 및 프로세스들은 또한 임의의 특정 시퀀스로 제한되지 않으며, 이에 관한 블록들, 단계들 또는 상태들은 예컨대 직렬로, 병렬로 또는 임의의 다른 방식으로 적절한 다른 시퀀시들로 수행될 수 있다. 태스크들 또는 이벤트들이 개시된 예시적인 실시예들에 추가되거나 또는 이들로부터 제거될 수 있다. 게다가, 본원에서 설명된 구현들에서 다양한 시스템 컴포넌트들의 구분은 예시적인 목적을 위한 것이며, 모든 구현들에서 이러한 구분을 요구하는 것으로 이해되지 않아야 한다. 설명된 프로그램 컴포넌트들, 방법들 및 시스템들이 일반적으로 단일 컴퓨터 제품에 함께 통합되거나 또는 다수의 컴퓨터 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 많은 구현의 변형들이 가능하다.
[0242] 프로세스들, 방법들 및 시스템들은 네트워크(또는 분산형) 컴퓨팅 환경에서 구현될 수 있다. 네트워크 환경들은 전사적(enterprise-wide) 컴퓨터 네트워크들, 인트라넷들, LAN(local area network)들, WAN(wide area network)들, PAN(personal area network)들, 클라우드 컴퓨팅 네트워크들, 크라우드-소싱(crowd-sourced) 컴퓨팅 네트워크들, 인터넷 및 월드 와이드 웹을 포함한다. 네트워크는 유선 또는 무선 네트워크일 수 있거나 또는 임의의 다른 타입의 통신 네트워크일 수 있다.
[0243] 본 발명은 본 발명의 디바이스들을 사용하여 수행될 수 있는 방법들을 포함한다. 방법들은 이러한 적절한 디바이스를 제공하는 동작을 포함할 수 있다. 이러한 프로비전은 최종 사용자에 의해 수행될 수 있다. 다시 말해서, "제공하는" 동작은 단순히 최종 사용자가 본 발명의 방법의 필수 디바이스를 제공하는 것을 획득하거나, 액세스하거나, 접근하거나, 포지셔닝하거나, 셋-업하거나, 활성화하거나, 파워-업하거나, 또는 그렇지 않으면 행해야 하는 것을 요구한다. 본원에서 인용된 방법들은 인용된 이벤트들의 가능한 논리적인 임의의 순서로 뿐만아니라 이벤트들의 인용된 순서로 수행될 수 있다.
[0244] 본 개시내용의 시스템들 및 방법들은 각각 여러 혁신적인 양상들을 가지며, 이들 양상들 중 어떠한 단일 양상도 본원에 개시된 바람직한 속성들을 단독으로 담당하지 않거나 또는 바람직한 속성들을 위해 단독으로 요구되지 않는다. 앞서 설명된 다양한 특징들 및 프로세스들은 서로 독립적으로 사용될 수 있거나 또는 다양한 방식들로 결합될 수 있다. 모든 가능한 조합들 및 부조합들은 본 개시내용의 범위내에 있는 것으로 의도된다. 본 개시내용에 개시된 구현들에 대한 다양한 수정들은 당업자들에게 쉽게 명백할 것이며, 본원에서 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위로부터 벗어남이 없이 다른 구현들에 적용될 수 있다. 따라서, 청구항들은 본원에서 제시된 구현들로 제한되는 것으로 의도된 것이 아니라, 본 개시내용, 본원에 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위에 부합해야 한다.
[0245] 개별적인 구현들의 맥락에서 본 명세서에서 설명된 특정 특징들은 또한 단일 구현으로 조합하여 구현될 수 있다. 역으로, 단일 구현의 맥락에서 설명되는 다양한 특징들은 또한 다수의 구현들에서 개별적으로 구현되거나 또는 임의의 적절한 부조합으로 구현될 수 있다. 게다가, 비록 특징들이 특정 조합들로 작용하는 것으로 앞서 설명되고 심지어 처음에 그와같이 청구될 수 있을지라도, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서 조합으로부터 삭제될 수 있으며, 청구된 조합은 부조합 또는 부조합의 변형으로 유도될 수 있다. 어떤 단일 특징 또는 특징들의 그룹도 각각의 그리고 모든 실시예에서 필요하거나 필수적이지 않다.
[0246] 특히 "할수 있다", "할 수 있었다", "할수도 있었다", "할수도 있다", "예컨대" 등과 같이 본원에서 설명된 조건부 언어는, 달리 구체적으로 언급되지 않거나 또는 사용되는 문맥내에서 달리 이해되지 않으면, 일반적으로 특정 실시예들이 특정 특징들, 엘리먼트들 및/또는 단계를 포함하는 반면에 다른 실시예들이 이러한 특정 특징들, 엘리먼트들 및/또는 단계들을 포함하지 않는다는 것을 전달하는 것으로 의도된다. 따라서, 이러한 조건부 언어는 일반적으로 하나 이상의 실시예들에 대한 특징들, 엘리먼트들 및/또는 단계들이 어떤식으로든 요구되는 것을 의미하거나 또는 이들 특징들, 엘리먼트들 및/또는 단계들이 임의의 특정 실시예에 포함되거나 또는 임의의 특정 실시예에서 수행되어야 하는지의 여부를 저자의 입력 또는 프롬프팅(prompting)을 사용하거나 또는 이들 없이 결정하기 위한 로직을 하나 이상의 실시예들이 반드시 포함하는 것을 의미하는 것으로 의도되지 않는다. "포함하는", "구비하는", "가진" 등의 용어들은 동의어이며, 오픈-엔드 방식(open-ended fashion)으로 포괄적으로 사용되며 부가적인 엘리먼트들, 특징들, 작용들, 동작들 등을 배제하지 않는다. 또한, "또는"이라는 용어는 예컨대 일 리스트의 엘리먼트들을 연결하기 위하여 사용될 때, "또는"이라는 용어가 리스트의 엘리먼트들 중 하나, 일부 또는 전부를 의미하도록 (배타적인 의미가 아니라) 포괄적인 의미로 사용된다. 게다가, 본 출원 및 첨부된 청구항들에서 사용되는 단수 의미는 달리 특정하지 않으면 "하나 이상" 또는 "적어도 하나"를 의미하는 것으로 해석되어야 한다. 본원에서 구체적으로 정의되는 것을 제외하고, 본원에서 사용되는 모든 기술적 및 과학적인 용어들은 청구항 효력을 유지하면서 가능한 넓은 일반적으로 이해되는 의미로 제공되어야 한다. 청구항들이 임의의 선택적인 엘리먼트를 배제하는 것으로 기안될 수 있다는 것이 추가로 주목되어야 한다.
[0247] 본원에서 사용되는 바와같이, 항목들의 리스트 "중 적어도 하나"를 지칭하는 문구는 단일 부재들을 포함하여 이들 항목들의 임의의 조합을 지칭한다. 예로서, "A, B 또는 C 중 적어도 하나"는 A, B, C, A 및 B, A 및 C, B 및 C, 및 A, B 및 C를 커버하도록 의도된다. "X, Y 및 Z 중 적어도 하나"라는 문구와 같은 접속 언어는, 달리 특별히 언급하지 않으면, 항목, 용어 등이 X , Y 또는 Z 중 적어도 하나일 수 있다는 것을 전달하기 위하여 일반적으로 사용되는 문맥으로 달리 이해된다. 따라서, 이러한 접속 언어는 특정 실시예들이, X 중 적어도 하나, Y 중 적어도 하나 및 Z 중 적어도 하나가 각각 존재할 것을 요구하는 것을 의미하는 것으로 일반적으로 의도되지 않는다.
[0248] 유사하게, 동작들이 특정 순서로 도면들에 도시될 수 있지만, 바람직한 결과들을 달성하기 위해서, 이러한 동작들이 도시된 특정 순서대로 또는 순차적인 순서대로 수행될 필요가 없거나 또는 모든 예시된 동작들이 수행될 필요가 없다는 것이 인식되어야 한다. 더욱이, 도면들은 하나 이상의 예시적인 프로세스들을 흐름도의 형태로 개략적으로 도시할 수 있다. 그러나, 도시되지 않은 다른 동작들이, 개략적으로 예시된 예시적인 방법들 및 프로세스들에 통합될 수 있다. 예컨대, 하나 이상의 부가적인 동작들이, 예시된 동작들 중 임의의 동작 이전에, 이 임의의 동작 이후에, 이 임의의 동작과 동시에, 또는 이 임의의 동작들 사이에서 수행될 수 있다. 부가적으로, 동작들은 다른 구현들에서 재배열하거나 재정렬될 수 있다. 특정 상황들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 게다가, 앞서 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 이러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 다수의 소프트웨어 제품들로 패키징될 수 있음이 이해되어야 한다. 부가적으로, 다른 구현들이 하기 청구항들의 범위내에 속한다. 일부 경우들에서, 청구항들에서 인용된 동작들은, 상이한 순서로 수행될 수 있으며, 그럼에도 불구하고 바람직한 결과들을 달성할 수 있다.

Claims (20)

  1. 머리 장착 디스플레이 시스템으로서,
    상이한 타입들의 센서 데이터를 캡처하기 위한 복수의 센서들 ― 상기 복수의 센서들 각각은 상기 머리 장착 디스플레이 시스템의 프레임상에 배치되며, 상기 프레임은 사용자의 머리에 착용되고 상기 사용자의 눈들의 전방에 디스플레이 시스템을 포지셔닝하도록 구성되며, 상기 복수의 센서들은 얼굴 이미지들을 획득하도록 구성된 외향 카메라를 포함함 ―;
    실행가능한 명령들, 및 상기 복수의 센서들에 의해 캡처된 상기 센서 데이터를 사용하여 얼굴 인식 및 조명 검출을 수행하기 위한 딥 뉴럴 네트워크를 저장하도록 구성된 비-일시적 메모리 ― 상기 딥 뉴럴 네트워크는 상기 딥 뉴럴 네트워크의 입력을 수신하기 위한 입력 계층, 복수의 하위 계층들, 복수의 중간 계층들, 및 상기 얼굴 인식 및 상기 조명 검출과 연관된 상기 딥 뉴럴 네트워크의 결과들을 출력하기 위한 복수의 머리 컴포넌트들을 포함하며, 상기 입력 계층은 상기 복수의 하위 계층들 중 제1 계층에 연결되며, 상기 복수의 하위 계층들 중 마지막 계층은 상기 중간 계층들 중 제1 계층에 연결되며, 상기 복수의 머리 컴포넌트들 중의 머리 컴포넌트는 머리 출력 노드를 포함하며, 그리고 상기 머리 출력 노드는 상기 복수의 중간 계층들로부터 상기 머리 컴포넌트까지의 고유 경로를 표현하는 복수의 머리 컴포넌트 계층들을 통해 상기 중간 계층들 중 마지막 계층에 연결됨 ―;
    상기 얼굴 인식 및 상기 조명 검출과 관련된 정보를 디스플레이하도록 구성된 디스플레이; 및
    상기 복수의 센서들, 상기 비-일시적 메모리 및 상기 디스플레이와 통신하는 하드웨어 프로세서를 포함하며,
    상기 하드웨어 프로세서는,
    상기 복수의 센서들로부터 상기 상이한 타입들의 센서 데이터를 수신하며;
    상기 상이한 타입들의 센서 데이터를 사용하여 상기 딥 뉴럴 네트워크의 결과들을 결정하며; 그리고
    상기 얼굴 인식 및 상기 조명 검출과 관련된 정보를 디스플레이하도록, 실행가능한 명령들에 의해 프로그래밍되는, 머리 장착 디스플레이 시스템.
  2. 제1 항에 있어서,
    상기 복수의 센서들은 관성 측정 유닛, 깊이 감지 카메라, 마이크로폰, 눈 이미징 카메라 또는 이들의 임의의 조합을 포함하는, 머리 장착 디스플레이 시스템.
  3. 삭제
  4. 제1 항에 있어서,
    상기 복수의 하위 계층들은 상기 상이한 타입들의 센서 데이터로부터 하위 레벨 피처들을 추출하도록 트레이닝되는, 머리 장착 디스플레이 시스템.
  5. 제4 항에 있어서,
    상기 복수의 중간 계층들은 상기 추출된 하위 레벨 피처들로부터 상위 레벨 피처들을 추출하도록 트레이닝되는, 머리 장착 디스플레이 시스템.
  6. 제5 항에 있어서,
    상기 머리 컴포넌트는 상기 얼굴 인식 또는 상기 조명 검출을 결정하기 위하여 상기 상위 레벨 피처들의 서브세트를 사용하는, 머리 장착 디스플레이 시스템.
  7. 제1 항에 있어서,
    상기 머리 컴포넌트는 상기 복수의 머리 컴포넌트 계층들을 통해 상기 복수의 중간 계층들의 서브세트에 연결되는, 머리 장착 디스플레이 시스템.
  8. 제1 항에 있어서,
    상기 복수의 하위 계층들과 연관된 가중치들의 수는 상기 딥 뉴럴 네트워크와 연관된 가중치들의 50%를 초과하며, 그리고
    상기 복수의 중간 계층들과 연관된 가중치들의 수 및 상기 복수의 머리 컴포넌트들과 연관된 가중치들의 수의 합은 상기 딥 뉴럴 네트워크와 연관된 가중치들의 50% 미만인, 머리 장착 디스플레이 시스템.
  9. 제1 항에 있어서,
    상기 복수의 하위 계층들과 연관된 컴퓨테이션(computation)은 상기 딥 뉴럴 네트워크와 연관된 총 컴퓨테이션의 50%를 초과하며, 그리고
    상기 복수의 중간 계층들 및 상기 복수의 머리 컴포넌트들과 연관된 컴퓨테이션은 상기 딥 뉴럴 네트워크와 연관된 상기 총 컴퓨테이션의 50% 미만인, 머리 장착 디스플레이 시스템.
  10. 제1 항에 있어서,
    상기 복수의 하위 계층들, 상기 복수의 중간 계층들 또는 상기 복수의 머리 컴포넌트 계층들은 컨벌루션 계층, 밝기 정규화 계층, 배치 정규화 계층, 교정된 선형 계층, 업샘플링 계층, 연접 계층, 완전히 연결된 계층, 선형적인 완전히 연결된 계층, 소프트싸인 계층, 순환 계층 또는 이들의 임의의 조합을 포함하는, 머리 장착 디스플레이 시스템.
  11. 제1 항, 제2항 및 제4항 내지 제10 항 중 어느 한 항에 있어서,
    상기 복수의 중간 계층들 또는 상기 복수의 머리 컴포넌트 계층들은 풀링(pooling) 계층을 포함하며, 상기 복수의 하위 계층들은 풀링 계층을 포함하지 않는, 머리 장착 디스플레이 시스템.

  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020197008125A 2016-08-22 2017-08-22 딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스 KR102439771B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227030033A KR102529137B1 (ko) 2016-08-22 2017-08-22 딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662377835P 2016-08-22 2016-08-22
US62/377,835 2016-08-22
PCT/US2017/048068 WO2018039269A1 (en) 2016-08-22 2017-08-22 Augmented reality display device with deep learning sensors

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227030033A Division KR102529137B1 (ko) 2016-08-22 2017-08-22 딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스

Publications (2)

Publication Number Publication Date
KR20190041504A KR20190041504A (ko) 2019-04-22
KR102439771B1 true KR102439771B1 (ko) 2022-09-02

Family

ID=61190853

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197008125A KR102439771B1 (ko) 2016-08-22 2017-08-22 딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스
KR1020227030033A KR102529137B1 (ko) 2016-08-22 2017-08-22 딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227030033A KR102529137B1 (ko) 2016-08-22 2017-08-22 딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스

Country Status (9)

Country Link
US (4) US10402649B2 (ko)
EP (1) EP3500911B1 (ko)
JP (2) JP7002536B2 (ko)
KR (2) KR102439771B1 (ko)
CN (2) CN114253400A (ko)
AU (2) AU2017317599B2 (ko)
CA (1) CA3034644A1 (ko)
IL (3) IL294129B2 (ko)
WO (1) WO2018039269A1 (ko)

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3485425B1 (en) 2016-07-14 2023-08-23 Magic Leap, Inc. Deep neural network for iris identification
US11138784B2 (en) * 2016-07-29 2021-10-05 Sony Corporation Image processing apparatus and image processing method
WO2018039269A1 (en) 2016-08-22 2018-03-01 Magic Leap, Inc. Augmented reality display device with deep learning sensors
WO2018058063A1 (en) 2016-09-26 2018-03-29 Magic Leap, Inc. Calibration of magnetic and optical sensors in a virtual reality or augmented reality display system
JP6854344B2 (ja) 2016-11-15 2021-04-07 マジック リープ, インコーポレイテッドMagic Leap,Inc. 直方体検出のための深層機械学習システム
KR102413561B1 (ko) 2016-12-05 2022-06-24 매직 립, 인코포레이티드 혼합 현실 환경의 가상 사용자 입력 콘트롤들
US10746815B2 (en) * 2016-12-22 2020-08-18 Microsoft Technology Licensing, Llc Magnetic interference detection and correction
US11347054B2 (en) 2017-02-16 2022-05-31 Magic Leap, Inc. Systems and methods for augmented reality
US11308391B2 (en) * 2017-03-06 2022-04-19 Baidu Usa Llc Offline combination of convolutional/deconvolutional and batch-norm layers of convolutional neural network models for autonomous driving vehicles
WO2018170421A1 (en) 2017-03-17 2018-09-20 Magic Leap, Inc. Room layout estimation methods and techniques
US10762635B2 (en) 2017-06-14 2020-09-01 Tusimple, Inc. System and method for actively selecting and labeling images for semantic segmentation
US10908680B1 (en) 2017-07-12 2021-02-02 Magic Leap, Inc. Pose estimation using electromagnetic tracking
IL271929B (en) 2017-07-26 2022-07-01 Magic Leap Inc Neural network training with displays of user interface devices
US10671083B2 (en) * 2017-09-13 2020-06-02 Tusimple, Inc. Neural network architecture system for deep odometry assisted by static scene optical flow
US10552979B2 (en) 2017-09-13 2020-02-04 TuSimple Output of a neural network method for deep odometry assisted by static scene optical flow
US10268205B2 (en) * 2017-09-13 2019-04-23 TuSimple Training and testing of a neural network method for deep odometry assisted by static scene optical flow
US10719951B2 (en) 2017-09-20 2020-07-21 Magic Leap, Inc. Personalized neural network for eye tracking
FR3072469B1 (fr) * 2017-10-13 2019-11-01 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede de synchronisation d'un systeme de localisation magnetique
US10614574B2 (en) * 2017-10-16 2020-04-07 Adobe Inc. Generating image segmentation data using a multi-branch neural network
US10996742B2 (en) * 2017-10-17 2021-05-04 Logitech Europe S.A. Input device for AR/VR applications
KR102602117B1 (ko) 2017-10-26 2023-11-13 매직 립, 인코포레이티드 딥 멀티태스크 네트워크들에서 적응적 손실 밸런싱을 위한 그라디언트 정규화 시스템들 및 방법들
IL274426B2 (en) * 2017-11-14 2024-01-01 Magic Leap Inc Discovering and describing a fully complex point of interest using homographic processing
US10514545B2 (en) * 2017-12-08 2019-12-24 Facebook Technologies, Llc Selective tracking of a head-mounted display
GB2569603B (en) * 2017-12-21 2020-04-01 Sony Interactive Entertainment Inc Position tracking apparatus and method
US11188144B2 (en) * 2018-01-05 2021-11-30 Samsung Electronics Co., Ltd. Method and apparatus to navigate a virtual content displayed by a virtual reality (VR) device
US11094075B1 (en) * 2018-01-23 2021-08-17 Facebook Technologies, Llc Systems and methods utilizing a machine learning model for generating defocus blur effects
GB201804400D0 (en) * 2018-03-20 2018-05-02 Univ Of Essex Enterprise Limited Localisation, mapping and network training
KR102395445B1 (ko) * 2018-03-26 2022-05-11 한국전자통신연구원 음원의 위치를 추정하기 위한 전자 장치
KR102094953B1 (ko) * 2018-03-28 2020-03-30 주식회사 비주얼캠프 시선 추적 방법 및 이를 수행하기 위한 단말
US10534982B2 (en) * 2018-03-30 2020-01-14 Tobii Ab Neural network training for three dimensional (3D) gaze prediction with calibration parameters
US11119624B2 (en) * 2018-04-17 2021-09-14 Apple Inc. Dynamic image stabilization using motion sensors
CN108921893B (zh) * 2018-04-24 2022-03-25 华南理工大学 一种基于在线深度学习slam的图像云计算方法及系统
AU2019270095A1 (en) * 2018-05-17 2021-01-14 Niantic, Inc. Self-supervised training of a depth estimation system
GB2574372B (en) * 2018-05-21 2021-08-11 Imagination Tech Ltd Implementing Traditional Computer Vision Algorithms As Neural Networks
US20190362235A1 (en) 2018-05-23 2019-11-28 Xiaofan Xu Hybrid neural network pruning
US10636190B2 (en) * 2018-05-31 2020-04-28 Robert Bosch Gmbh Methods and systems for exploiting per-pixel motion conflicts to extract primary and secondary motions in augmented reality systems
US11677796B2 (en) 2018-06-20 2023-06-13 Logitech Europe S.A. System and method for video encoding optimization and broadcasting
EP3811182A4 (en) 2018-06-22 2021-07-28 Magic Leap, Inc. METHOD AND SYSTEM FOR PERFORMING EYE TRACKING USING AN OFF-AXIAL CAMERA
CN108958716A (zh) * 2018-06-27 2018-12-07 森汉智能科技(深圳)有限公司 智能机器人上实现移动端编程与ar系统结合的方法
US10867164B2 (en) * 2018-06-29 2020-12-15 Intel Corporation Methods and apparatus for real-time interactive anamorphosis projection via face detection and tracking
US10948297B2 (en) * 2018-07-09 2021-03-16 Samsung Electronics Co., Ltd. Simultaneous location and mapping (SLAM) using dual event cameras
US10754419B2 (en) * 2018-07-12 2020-08-25 Google Llc Hybrid pose tracking system with electromagnetic position tracking
JP2021530790A (ja) 2018-07-23 2021-11-11 マジック リープ, インコーポレイテッドMagic Leap, Inc. 頭部姿勢予測のための深層予測器再帰ニューラルネットワーク
US10943115B2 (en) * 2018-07-24 2021-03-09 Apical Ltd. Processing image data to perform object detection
US10783713B2 (en) * 2018-09-05 2020-09-22 International Business Machines Corporation Transmutation of virtual entity sketch using extracted features and relationships of real and virtual objects in mixed reality scene
CN112654404A (zh) 2018-09-05 2021-04-13 奇跃公司 用于增强显示系统中电磁跟踪的定向发射器/传感器
KR102559203B1 (ko) * 2018-10-01 2023-07-25 삼성전자주식회사 포즈 정보를 출력하는 방법 및 장치
CN109240510B (zh) * 2018-10-30 2023-12-26 东北大学 基于视线追踪的增强现实人机交互设备及控制方法
US10915793B2 (en) * 2018-11-08 2021-02-09 Huawei Technologies Co., Ltd. Method and system for converting point cloud data for use with 2D convolutional neural networks
US10854006B2 (en) * 2018-11-15 2020-12-01 Palo Alto Research Center Incorporated AR-enabled labeling using aligned CAD models
US11921291B2 (en) * 2018-11-15 2024-03-05 Magic Leap, Inc. Systems and methods for performing self-improving visual odometry
CN109685802B (zh) * 2018-12-13 2023-09-15 泸州禾苗通信科技有限公司 一种低延迟的视频分割实时预览方法
WO2020140078A1 (en) 2018-12-27 2020-07-02 Magic Leap, Inc. Systems and methods for virtual and augmented reality
CN109858524B (zh) * 2019-01-04 2020-10-16 北京达佳互联信息技术有限公司 手势识别方法、装置、电子设备及存储介质
FR3092426B1 (fr) 2019-02-01 2021-09-24 Olivier Querbes Procédé dynamique d’imagerie tridimensionnelle
US10424048B1 (en) * 2019-02-15 2019-09-24 Shotspotter, Inc. Systems and methods involving creation and/or utilization of image mosaic in classification of acoustic events
US11009698B2 (en) * 2019-03-13 2021-05-18 Nick Cherukuri Gaze-based user interface for augmented and mixed reality device
CN109919128B (zh) * 2019-03-20 2021-04-13 联想(北京)有限公司 控制指令的获取方法、装置及电子设备
US11205112B2 (en) * 2019-04-01 2021-12-21 Honeywell International Inc. Deep neural network-based inertial measurement unit (IMU) sensor compensation method
DE102020109121A1 (de) * 2019-04-02 2020-10-08 Ascension Technology Corporation Korrektur von Verzerrungen
WO2020204939A1 (en) * 2019-04-05 2020-10-08 Google Llc Distributed machine-learned models for inference generation using wearable devices
KR102148382B1 (ko) * 2019-04-25 2020-08-26 경희대학교 산학협력단 관성 센서 신호의 이미지 변환 방법 및 장치
US11044462B2 (en) 2019-05-02 2021-06-22 Niantic, Inc. Self-supervised training of a depth estimation model using depth hints
CN110223351B (zh) * 2019-05-30 2021-02-19 杭州蓝芯科技有限公司 一种基于卷积神经网络的深度相机定位方法
US11719850B2 (en) * 2019-06-20 2023-08-08 Sony Interactive Entertainment Inc. Detecting and compensating for magnetic interference in electromagnetic (EM) positional tracking
US11099641B2 (en) 2019-06-27 2021-08-24 Disney Enterprises, Inc. Calibration, customization, and improved user experience for bionic lenses
TWI773907B (zh) * 2019-07-11 2022-08-11 緯創資通股份有限公司 資料擷取裝置與資料運算系統及方法
US11107291B2 (en) * 2019-07-11 2021-08-31 Google Llc Traversing photo-augmented information through depth using gesture and UI controlled occlusion planes
US10989916B2 (en) * 2019-08-20 2021-04-27 Google Llc Pose prediction with recurrent neural networks
US11763191B2 (en) * 2019-08-20 2023-09-19 The Calany Holding S. À R.L. Virtual intelligence and optimization through multi-source, real-time, and context-aware real-world data
CN110717866B (zh) * 2019-09-03 2022-10-18 北京爱博同心医学科技有限公司 基于增强现实的图像锐化方法及增强现实眼镜
CN110530356B (zh) * 2019-09-04 2021-11-23 海信视像科技股份有限公司 位姿信息的处理方法、装置、设备及存储介质
CN110602709B (zh) * 2019-09-16 2022-01-04 腾讯科技(深圳)有限公司 可穿戴式设备的网络数据安全方法、装置及存储介质
CN110686906B (zh) * 2019-10-09 2021-03-26 清华大学 车辆自动驾驶测试方法及装置
JP2022505999A (ja) * 2019-10-15 2022-01-17 ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド 拡張現実データの提示方法、装置、機器および記憶媒体
JP7150894B2 (ja) * 2019-10-15 2022-10-11 ベイジン・センスタイム・テクノロジー・デベロップメント・カンパニー・リミテッド Arシーン画像処理方法及び装置、電子機器並びに記憶媒体
EP4046138A4 (en) 2019-10-18 2022-12-07 Magic Leap, Inc. GRAVITY ESTIMATION AND BUNDLE ADJUSTMENT FOR VISUAL INERTIAL ODOMETRY
CN110737339B (zh) * 2019-10-28 2021-11-02 福州大学 基于深度学习的视觉—触觉交互模型构建方法
SG10201910949PA (en) * 2019-11-21 2020-11-27 Lian Wang Artificial Intelligence Brain
US20210157394A1 (en) 2019-11-24 2021-05-27 XRSpace CO., LTD. Motion tracking system and method
KR102260393B1 (ko) * 2019-11-27 2021-06-03 주식회사 피앤씨솔루션 사용자에 따라 화면 조도가 자동으로 조절되는 머리 착용형 디스플레이 장치
CN113031753A (zh) * 2019-12-09 2021-06-25 未来市股份有限公司 运动传感数据产生方法和运动传感数据产生系统
CN111209915B (zh) * 2019-12-25 2023-09-15 上海航天控制技术研究所 一种基于深度学习的三维图像同步识别和分割方法
CN111222468A (zh) * 2020-01-08 2020-06-02 浙江光珀智能科技有限公司 一种基于深度学习的人流检测方法及系统
CN111330255B (zh) * 2020-01-16 2021-06-08 北京理工大学 一种基于深度卷积神经网络的亚马逊棋招法生成方法
CN111325097B (zh) * 2020-01-22 2023-04-07 陕西师范大学 增强的单阶段解耦的时序动作定位方法
CN111273777A (zh) * 2020-02-11 2020-06-12 Oppo广东移动通信有限公司 虚拟内容的控制方法、装置、电子设备及存储介质
WO2021163075A1 (en) * 2020-02-13 2021-08-19 Best Apps, Llc Computer aided systems and methods for creating custom products
GB2588470B (en) * 2020-02-19 2022-01-12 Envisics Ltd Pupil expansion
US11263818B2 (en) * 2020-02-24 2022-03-01 Palo Alto Research Center Incorporated Augmented reality system using visual object recognition and stored geometry to create and render virtual objects
WO2021190280A1 (en) * 2020-03-24 2021-09-30 Guangdong Oppo Mobile Telecommunications Corp., Ltd. System and method for augmented tele-cooperation
WO2021194487A1 (en) * 2020-03-25 2021-09-30 Hewlett-Packard Development Company, L.P. Head-related transfer functions with antropometric measurements
US11314950B2 (en) 2020-03-25 2022-04-26 International Business Machines Corporation Text style transfer using reinforcement learning
KR102331172B1 (ko) * 2020-03-31 2021-11-26 엑스퍼트아이엔씨 주식회사 스마트글라스를 활용한 클라우드 기반형 원격 서비스 및 유지보수 지원 시스템
WO2021207162A1 (en) * 2020-04-06 2021-10-14 Pike Enterprises, Llc Virtual reality tracking system
US11921917B2 (en) 2020-04-07 2024-03-05 Eyetech Digital Systems, Inc. Compact eye-tracking camera systems and methods
US10996753B1 (en) 2020-04-07 2021-05-04 Eyetech Digital Systems, Inc. Multi-mode eye-tracking with independently operable illuminators
CN111461251A (zh) * 2020-04-10 2020-07-28 桂林电子科技大学 基于随机森林与自编码器的WiFi指纹的室内定位方法
KR20210128269A (ko) 2020-04-16 2021-10-26 삼성전자주식회사 증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법
JP2023524038A (ja) 2020-05-01 2023-06-08 マジック リープ, インコーポレイテッド 階層正規化がかけられる画像記述子ネットワーク
CN111643809B (zh) * 2020-05-29 2023-12-05 广州大学 一种基于潜能干预仪的电磁脉冲控制方法及系统
WO2021247435A1 (en) * 2020-06-05 2021-12-09 Magic Leap, Inc. Enhanced eye tracking techniques based on neural network analysis of images
CN111881735B (zh) * 2020-06-17 2022-07-29 武汉光庭信息技术股份有限公司 一种自动驾驶视频数据的事件分类提取方法和装置
US20230377280A1 (en) * 2020-06-22 2023-11-23 Alon Melchner System and method for rendering virtual interactions of an immersive reality-virtuality continuum-based object and a real environment
US20210405739A1 (en) * 2020-06-26 2021-12-30 Sony Interactive Entertainment Inc. Motion matching for vr full body reconstruction
CN111935396A (zh) * 2020-07-01 2020-11-13 青岛小鸟看看科技有限公司 VR一体机的6DoF数据处理方法和装置
US20230290132A1 (en) * 2020-07-29 2023-09-14 Magic Leap, Inc. Object recognition neural network training using multiple data sources
CN111896221B (zh) * 2020-07-30 2021-08-17 四川大学 虚拟坐标系辅助摄像机标定的旋转光学测量系统对准方法
US11320896B2 (en) * 2020-08-03 2022-05-03 Facebook Technologies, Llc. Systems and methods for object tracking using fused data
CN111914753A (zh) * 2020-08-03 2020-11-10 西安杰邦科技股份有限公司 基于深度学习的低功耗智能枪瞄图像处理系统及处理方法
US11727719B2 (en) * 2020-08-28 2023-08-15 Stmicroelectronics, Inc. System and method for detecting human presence based on depth sensing and inertial measurement
US11113894B1 (en) * 2020-09-11 2021-09-07 Microsoft Technology Licensing, Llc Systems and methods for GPS-based and sensor-based relocalization
US11353700B2 (en) 2020-10-07 2022-06-07 Industrial Technology Research Institute Orientation predicting method, virtual reality headset and non-transitory computer-readable medium
WO2022093265A1 (en) * 2020-10-30 2022-05-05 Hewlett-Packard Development Company, L.P. Head mounted display assembly
CN112433193B (zh) * 2020-11-06 2023-04-07 山东产研信息与人工智能融合研究院有限公司 一种基于多传感器的模位置定位方法及系统
CN112308015A (zh) * 2020-11-18 2021-02-02 盐城鸿石智能科技有限公司 一种基于3d结构光的新型深度恢复方案
WO2022119759A1 (en) * 2020-12-04 2022-06-09 Magic Leap, Inc. Miscalibration detection for virtual reality and augmented reality systems
CN112464958A (zh) * 2020-12-11 2021-03-09 沈阳芯魂科技有限公司 多模态神经网络信息处理方法、装置、电子设备与介质
CN112509006A (zh) * 2020-12-11 2021-03-16 北京华捷艾米科技有限公司 一种子地图恢复融合方法及装置
CN112561978B (zh) * 2020-12-18 2023-11-17 北京百度网讯科技有限公司 深度估计网络的训练方法、图像的深度估计方法、设备
CN112702522B (zh) * 2020-12-25 2022-07-12 李灯 一种基于vr直播系统的自适应控制播放方法
US11500463B2 (en) * 2020-12-30 2022-11-15 Imagine Technologies, Inc. Wearable electroencephalography sensor and device control methods using same
US11854280B2 (en) 2021-04-27 2023-12-26 Toyota Research Institute, Inc. Learning monocular 3D object detection from 2D semantic keypoint detection
CN113469041A (zh) * 2021-06-30 2021-10-01 北京市商汤科技开发有限公司 一种图像处理方法、装置、计算机设备和存储介质
CN113793389B (zh) * 2021-08-24 2024-01-26 国网甘肃省电力公司 一种增强现实系统虚实融合标定方法及装置
US11763496B2 (en) 2021-09-30 2023-09-19 Lemon Inc. Social networking based on asset items
US11417069B1 (en) * 2021-10-05 2022-08-16 Awe Company Limited Object and camera localization system and localization method for mapping of the real world
US11797127B1 (en) * 2021-11-16 2023-10-24 Alken Inc. Hybrid tracking with auto-correction
WO2023096916A1 (en) * 2021-11-23 2023-06-01 Compass Pathfinder Limited Apparatuses, systems, and methods for a real time bioadaptive stimulus environment
US20230241491A1 (en) * 2022-01-31 2023-08-03 Sony Interactive Entertainment Inc. Systems and methods for determining a type of material of an object in a real-world environment
US11822736B1 (en) 2022-05-18 2023-11-21 Google Llc Passive-accessory mediated gesture interaction with a head-mounted device
US11776206B1 (en) 2022-12-23 2023-10-03 Awe Company Limited Extended reality system and extended reality method with two-way digital interactive digital twins
KR102585261B1 (ko) * 2023-04-26 2023-10-06 주식회사 케이유전자 3차원 보정객체의 단일 영상을 활용하여 적응형 영상 증강 방법 기반의 최적화된 다중 카메라 보정 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014128787A1 (ja) 2013-02-19 2014-08-28 株式会社ブリリアントサービス 追従表示システム、追従表示プログラム、および追従表示方法、ならびにそれらを用いたウェアラブル機器、ウェアラブル機器用の追従表示プログラム、およびウェアラブル機器の操作方法
WO2015066628A1 (en) 2013-11-04 2015-05-07 Facebook, Inc. Systems and methods for facial representation

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291560A (en) 1991-07-15 1994-03-01 Iri Scan Incorporated Biometric personal identification system based on iris analysis
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US5583795A (en) 1995-03-17 1996-12-10 The United States Of America As Represented By The Secretary Of The Army Apparatus for measuring eye gaze and fixation duration, and method therefor
US5670988A (en) 1995-09-05 1997-09-23 Interlink Electronics, Inc. Trigger operated electronic device
WO2003077549A1 (en) 2002-03-13 2003-09-18 Imax Corporation Systems and methods for digitally re-mastering or otherwise modifying motion pictures or other image sequences data
CN101317763B (zh) * 2002-10-15 2013-04-03 沃尔沃技术公司 解释对象的头部和眼睛活动的方法和装置
US8098901B2 (en) 2005-01-26 2012-01-17 Honeywell International Inc. Standoff iris recognition system
KR20050025927A (ko) 2003-09-08 2005-03-14 유웅덕 홍채인식을 위한 동공 검출 방법 및 형상기술자 추출방법과 그를 이용한 홍채 특징 추출 장치 및 그 방법과홍채인식 시스템 및 그 방법
US7248720B2 (en) 2004-10-21 2007-07-24 Retica Systems, Inc. Method and system for generating a combined retina/iris pattern biometric
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
JP2007122362A (ja) 2005-10-27 2007-05-17 Toyota Motor Corp ニューラルネットワークを用いた状態推定方法及びニューラルネットワークを用いた状態推定装置
JP4824420B2 (ja) 2006-02-07 2011-11-30 アイテック株式会社 視線ベクトル検出方法及び同装置
US7970179B2 (en) 2006-09-25 2011-06-28 Identix Incorporated Iris data extraction
US8363783B2 (en) 2007-06-04 2013-01-29 Oraya Therapeutics, Inc. Method and device for ocular alignment and coupling of ocular structures
US8098891B2 (en) 2007-11-29 2012-01-17 Nec Laboratories America, Inc. Efficient multi-hypothesis multi-human 3D tracking in crowded scenes
WO2010003044A2 (en) 2008-07-03 2010-01-07 Nec Laboratories America, Inc. Epithelial layer detector and related methods
WO2010129074A1 (en) 2009-01-14 2010-11-11 Indiana University Research & Technology Corporation System and method for identifying a person with reference to a sclera image
JP5763681B2 (ja) 2010-01-22 2015-08-12 オプティメディカ・コーポレイション 走査レーザによる嚢切開を自動配置する装置
US8345984B2 (en) 2010-01-28 2013-01-01 Nec Laboratories America, Inc. 3D convolutional neural networks for automatic human action recognition
US11935281B2 (en) * 2010-06-07 2024-03-19 Affectiva, Inc. Vehicular in-cabin facial tracking using machine learning
US9304319B2 (en) 2010-11-18 2016-04-05 Microsoft Technology Licensing, Llc Automatic focus improvement for augmented reality displays
US10156722B2 (en) 2010-12-24 2018-12-18 Magic Leap, Inc. Methods and systems for displaying stereoscopy with a freeform optical system with addressable focus for virtual and augmented reality
JP6185844B2 (ja) 2010-12-24 2017-08-30 マジック リープ, インコーポレイテッド 人間工学的ヘッドマウントディスプレイデバイスおよび光学システム
CN103635891B (zh) 2011-05-06 2017-10-27 奇跃公司 大量同时远程数字呈现世界
CN102306088A (zh) * 2011-06-23 2012-01-04 北京北方卓立科技有限公司 一种实体投影虚实配准装置及方法
EP2761362A4 (en) * 2011-09-26 2014-08-06 Microsoft Corp VIDEO DISPLAY CHANGE BASED ON SENSOR INPUT FOR TRANSPARENT EYE DISPLAY
EP2760363A4 (en) 2011-09-29 2015-06-24 Magic Leap Inc TACTILE GLOVE FOR HUMAN COMPUTER INTERACTION
US20130083018A1 (en) * 2011-09-30 2013-04-04 Kevin A. Geisner Personal audio/visual system with holographic objects
BR112014010230A8 (pt) 2011-10-28 2017-06-20 Magic Leap Inc sistema e método para realidade virtual e aumentada
CA3024054C (en) 2011-11-23 2020-12-29 Magic Leap, Inc. Three dimensional virtual and augmented reality display system
WO2013152205A1 (en) 2012-04-05 2013-10-10 Augmented Vision Inc. Wide-field of view (fov) imaging devices with active foveation capability
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
CN104737061B (zh) 2012-06-11 2018-01-16 奇跃公司 使用波导反射器阵列投射器的多深度平面三维显示器
US9141916B1 (en) 2012-06-29 2015-09-22 Google Inc. Using embedding functions with a deep network
JP5467303B1 (ja) 2012-07-31 2014-04-09 独立行政法人科学技術振興機構 注視点検出装置、注視点検出方法、個人パラメータ算出装置、個人パラメータ算出方法、プログラム、及びコンピュータ読み取り可能な記録媒体
US8369595B1 (en) 2012-08-10 2013-02-05 EyeVerify LLC Texture features for biometric authentication
EP2895910A4 (en) 2012-09-11 2016-04-20 Magic Leap Inc ERGONOMIC HEAD-MOUNTED DISPLAY DEVICE AND OPTICAL SYSTEM
US10151875B2 (en) 2013-01-15 2018-12-11 Magic Leap, Inc. Ultra-high resolution scanning fiber display
JP6083251B2 (ja) 2013-02-18 2017-02-22 応用地質株式会社 地下の電気的特性を得るための分散型探査システムおよびこれを用いた分散型探査方法
KR102387314B1 (ko) 2013-03-11 2022-04-14 매직 립, 인코포레이티드 증강 및 가상 현실을 위한 시스템 및 방법
US9147154B2 (en) 2013-03-13 2015-09-29 Google Inc. Classifying resources using a deep network
NZ751602A (en) 2013-03-15 2020-01-31 Magic Leap Inc Display system and method
WO2014182769A1 (en) 2013-05-07 2014-11-13 The Johns Hopkins University Automated and non-mydriatic fundus-perimetry camera for irreversible eye diseases
US9275308B2 (en) 2013-05-31 2016-03-01 Google Inc. Object detection using deep neural networks
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9874749B2 (en) 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US20140380249A1 (en) 2013-06-25 2014-12-25 Apple Inc. Visual recognition of gestures
CN103431840B (zh) 2013-07-31 2016-01-20 北京智谷睿拓技术服务有限公司 眼睛光学参数检测系统及方法
EP3058418B1 (en) 2013-10-16 2023-10-04 Magic Leap, Inc. Virtual or augmented reality headsets having adjustable interpupillary distance
US9202144B2 (en) 2013-10-30 2015-12-01 Nec Laboratories America, Inc. Regionlets with shift invariant neural patterns for object detection
US20150134651A1 (en) * 2013-11-12 2015-05-14 Fyusion, Inc. Multi-dimensional surround view based search
JP6236296B2 (ja) 2013-11-14 2017-11-22 株式会社デンソーアイティーラボラトリ 学習装置、学習プログラム、及び学習方法
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
KR102268462B1 (ko) 2013-11-27 2021-06-22 매직 립, 인코포레이티드 가상 및 증강 현실 시스템들 및 방법들
US9430829B2 (en) 2014-01-30 2016-08-30 Case Western Reserve University Automatic detection of mitosis using handcrafted and convolutional neural network features
EP3100098B8 (en) 2014-01-31 2022-10-05 Magic Leap, Inc. Multi-focal display system and method
EP4071537A1 (en) 2014-01-31 2022-10-12 Magic Leap, Inc. Multi-focal display system
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US10417824B2 (en) 2014-03-25 2019-09-17 Apple Inc. Method and system for representing a virtual object in a view of a real environment
IL231862A (en) 2014-04-01 2015-04-30 Superfish Ltd Image representation using a neural network
WO2015164807A1 (en) 2014-04-25 2015-10-29 Texas State University Detection of brain injury and subject state with eye movement biometrics
US20150324568A1 (en) 2014-05-09 2015-11-12 Eyefluence, Inc. Systems and methods for using eye signals with secure mobile communications
KR102193052B1 (ko) 2014-05-30 2020-12-18 매직 립, 인코포레이티드 가상 또는 증강 현실 장치로 가상 콘텐츠 디스플레이를 생성하기 위한 방법들 및 시스템들
AU2015274283B2 (en) * 2014-06-14 2020-09-10 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US9536293B2 (en) 2014-07-30 2017-01-03 Adobe Systems Incorporated Image assessment using deep convolutional neural networks
US20160034811A1 (en) 2014-07-31 2016-02-04 Apple Inc. Efficient generation of complementary acoustic models for performing automatic speech recognition system combination
US9659384B2 (en) 2014-10-03 2017-05-23 EyeEm Mobile GmbH. Systems, methods, and computer program products for searching and sorting images by aesthetic quality
WO2016054779A1 (en) 2014-10-09 2016-04-14 Microsoft Technology Licensing, Llc Spatial pyramid pooling networks for image processing
US9530071B2 (en) 2014-10-10 2016-12-27 Beijing Kuangshi Technology Co., Ltd. Hierarchical interlinked multi-scale convolutional network for image parsing
KR102276339B1 (ko) 2014-12-09 2021-07-12 삼성전자주식회사 Cnn의 근사화를 위한 학습 장치 및 방법
US9418458B2 (en) 2015-01-05 2016-08-16 Superfish Ltd. Graph image representation from convolutional neural networks
ES2714152T3 (es) 2015-01-28 2019-05-27 Google Llc Capas de normalización por lotes
US10846589B2 (en) * 2015-03-12 2020-11-24 William Marsh Rice University Automated compilation of probabilistic task description into executable neural network specification
USD758367S1 (en) 2015-05-14 2016-06-07 Magic Leap, Inc. Virtual reality headset
US10146997B2 (en) 2015-08-21 2018-12-04 Magic Leap, Inc. Eyelid shape estimation using eye pose measurement
CN105654037B (zh) * 2015-12-21 2019-05-21 浙江大学 一种基于深度学习和特征图像的肌电信号手势识别方法
CN114495249A (zh) 2016-07-14 2022-05-13 奇跃公司 使用角膜曲率的虹膜边界估计
EP3485425B1 (en) 2016-07-14 2023-08-23 Magic Leap, Inc. Deep neural network for iris identification
WO2018039269A1 (en) 2016-08-22 2018-03-01 Magic Leap, Inc. Augmented reality display device with deep learning sensors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014128787A1 (ja) 2013-02-19 2014-08-28 株式会社ブリリアントサービス 追従表示システム、追従表示プログラム、および追従表示方法、ならびにそれらを用いたウェアラブル機器、ウェアラブル機器用の追従表示プログラム、およびウェアラブル機器の操作方法
WO2015066628A1 (en) 2013-11-04 2015-05-07 Facebook, Inc. Systems and methods for facial representation

Also Published As

Publication number Publication date
KR102529137B1 (ko) 2023-05-03
CN109923500A (zh) 2019-06-21
IL281241B (en) 2022-08-01
KR20220123565A (ko) 2022-09-07
AU2022201949A1 (en) 2022-04-14
US11797078B2 (en) 2023-10-24
IL294129B1 (en) 2023-09-01
IL294129B2 (en) 2024-01-01
US11120266B2 (en) 2021-09-14
US20220067378A1 (en) 2022-03-03
US10402649B2 (en) 2019-09-03
EP3500911B1 (en) 2023-09-27
CA3034644A1 (en) 2018-03-01
JP7254895B2 (ja) 2023-04-10
JP2022058427A (ja) 2022-04-12
JP2019532392A (ja) 2019-11-07
IL281241A (en) 2021-04-29
JP2023093489A (ja) 2023-07-04
US20180053056A1 (en) 2018-02-22
EP3500911A4 (en) 2020-04-29
JP7002536B2 (ja) 2022-01-20
AU2017317599A1 (en) 2019-03-21
IL264820B (en) 2021-03-25
IL294129A (en) 2022-08-01
KR20190041504A (ko) 2019-04-22
US20200334461A1 (en) 2020-10-22
CN114253400A (zh) 2022-03-29
WO2018039269A1 (en) 2018-03-01
AU2017317599B2 (en) 2021-12-23
EP3500911A1 (en) 2019-06-26
US20190340435A1 (en) 2019-11-07
CN109923500B (zh) 2022-01-04
US10733447B2 (en) 2020-08-04

Similar Documents

Publication Publication Date Title
KR102439771B1 (ko) 딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스
CN112513711B (zh) 用于使用位置向量解析半球模糊度的方法和系统
KR102384882B1 (ko) 증강 현실 시스템들을 사용한 전자기 추적
US11776242B2 (en) Augmented reality deep gesture network
JP7476387B2 (ja) 深層学習センサを有する拡張現実ディスプレイデバイス

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant