KR102666475B1 - 사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝 - Google Patents

사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝 Download PDF

Info

Publication number
KR102666475B1
KR102666475B1 KR1020227006137A KR20227006137A KR102666475B1 KR 102666475 B1 KR102666475 B1 KR 102666475B1 KR 1020227006137 A KR1020227006137 A KR 1020227006137A KR 20227006137 A KR20227006137 A KR 20227006137A KR 102666475 B1 KR102666475 B1 KR 102666475B1
Authority
KR
South Korea
Prior art keywords
virtual
training
image
user
neural network
Prior art date
Application number
KR1020227006137A
Other languages
English (en)
Other versions
KR20220030315A (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 매직 립, 인코포레이티드
Publication of KR20220030315A publication Critical patent/KR20220030315A/ko
Application granted granted Critical
Publication of KR102666475B1 publication Critical patent/KR102666475B1/ko

Links

Classifications

    • 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
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • 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/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0141Head-up displays characterised by optical features characterised by the informative content of the display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04807Pen manipulated menu
    • 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/047Probabilistic or stochastic networks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Optics & Photonics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

뉴럴 네트워크를 사용하여 가상 사용자 인터페이스(UI) 디바이스(예컨대, 버튼) 및 포인터(예컨대, 손가락 또는 스타일러스)에 대한 UI 이벤트를 결정할 수 있는 웨어러블 디스플레이 시스템의 예들이 본 명세서에 개시된다. 웨어러블 디스플레이 시스템은, 가상 UI 디바이스가 사용자에게 나타날 경우 캡처된 포인터의 이미지 상으로 UI 디바이스의 표현을 렌더링할 수 있고, 사용자는 포인터를 사용하여 가상 UI 디바이스와 상호작용한다. UI 디바이스의 표현은 높은 콘트라스트의 동심 형상들(또는 유사하거나 동일한 무게 중심들을 갖는 형상들)을 포함할 수 있다. 뉴럴 네트워크는 포인터들 및 가상 UI 디바이스들의 표현들을 갖는 트레이닝 이미지들을 사용하여 트레이닝될 수 있다.

Description

사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝{TRAINING A NEURAL NETWORK WITH REPRESENTATIONS OF USER INTERFACE DEVICES}
[0001] 본 출원은 발명의 명칭이 "TRAINING A NEURAL NETWORK WITH REPRESENTATIONS OF USER INTERFACE DEVICES"으로 2017년 7월 26일자로 출원된 미국 가출원 제 62/537,311호에 대한 우선권의 이점을 주장하며, 이로써, 그 가출원의 내용은 그 전체가 인용에 의해 본 명세서에 포함된다.
[0002] 본 개시내용은 가상 현실 및 증강 현실 이미징 및 시각화 시스템들에 관한 것으로, 더 상세하게는 사용자 인터페이스 이벤트들을 결정하기 위해 머신 러닝 모델(예컨대, 뉴럴 네트워크)을 트레이닝시키고 사용하기 위한 사용자 인터페이스 디바이스들의 표현들에 관한 것이다.
[0003] 딥 뉴럴 네트워크(deep neural network)(DNN)는 컴퓨테이션(computation) 머신 러닝 모델이다. DNN들은 인공 뉴럴 네트워크들(NN)의 클래스에 속한다. NN들의 경우, 생물학적 뉴럴 네트워크의 피처들을 모방하는 컴퓨테이셔널 그래프가 구성된다. 생물학적 뉴럴 네트워크는 다른 방법들을 통해서는 캡처하는 데 어려울 수 있는 생물학적 시스템의 많은 능력들을 담당하고 컴퓨테이션에 핵심적인 피처들을 포함한다. 일부 구현들에서, 그러한 네트워크들은, 연결들이 단일지향성인 순차적 계층 구조로 배열된다. 예컨대, 특정 계층의 인공 뉴런들의 출력들은 후속 계층의 인공 뉴런들의 입력들에 연결될 수 있다. DNN은 많은 수의 계층들(예컨대, 수십개, 수백개, 또는 그 초과의 계층들)을 갖는 NN일 수 있다.
[0004] 상이한 NN들은 상이한 관점들에서 서로 상이하다. 예컨대, 상이한 NN들의 토폴로지들 또는 아키텍처들(예컨대, 계층들의 수 및 계층들이 어떻게 상호연결되는지) 및 가중치들이 상이할 수 있다. NN의 가중치는 생물학적 시스템에서의 뉴럴 연결의 시냅스 강도와 대략적으로 유사할 수 있다. 가중치들은 하나의 계층으로부터 다른 계층으로 전달되는 효과의 강도에 영향을 준다. 인공 뉴런(또는 NN의 노드)의 출력은 그의 입력들의 가중된 합의 비선형 함수일 수 있다. NN의 가중치들은 이들 합계들에서 나타나는 가중치들일 수 있다.
[0005] 일 양상에서, 웨어러블 디스플레이 시스템이 개시된다. 웨어러블 디스플레이 시스템은, 포인터를 포함하는 이미지를 캡처하도록 구성된 이미지 캡처 디바이스; 이미지, 이미지 상의 이미지 위치에 있는 이미지와 연관된 가상 사용자 인터페이스(UI) 디바이스, 및 트레이닝 가상 UI 디바이스와 연관된 트레이닝 이미지 ― 트레이닝 이미지는 트레이닝 가상 UI 디바이스 및 트레이닝 포인터의 표현을 포함함 ― 그리고 트레이닝 이미지 내의 트레이닝 가상 UI 디바이스 및 트레이닝 포인터에 대한 트레이닝 UI 이벤트를 사용하여 트레이닝된 UI 이벤트를 결정하기 위한 뉴럴 네트워크를 저장하도록 구성된 비-일시적인 컴퓨터-판독가능 저장 매체; 이미지가 이미지 캡처 디바이스에 의해 캡처될 경우 디스플레이 위치에서 가상 UI 디바이스를 디스플레이하도록 구성된 디스플레이 ― 이미지 위치는 디스플레이 위치에 관련됨 ―; 및 이미지 캡처 디바이스, 디스플레이, 및 비-일시적인 컴퓨터-판독가능 저장 매체와 통신하는 하드웨어 프로세서를 포함하며, 프로세서는, 이미지 캡처 디바이스로부터 이미지를 수신하고; 이미지 위치에서 이미지 상으로 가상 UI 디바이스의 표현을 렌더링하고; 그리고 뉴럴 네트워크를 사용하여, 이미지 내의 포인터 및 이미지와 연관된 가상 UI 디바이스에 대한 UI 이벤트를 결정하도록, 실행가능 명령들에 의해 프로그래밍된다.
[0006] 다른 양상에서, 사용자 인터페이스 이벤트를 결정하기 위해 뉴럴 네트워크를 트레이닝시키기 위한 시스템이 개시된다. 시스템은, 실행가능 명령들을 저장한 컴퓨터-판독가능한 메모리; 및 하나 이상의 프로세서들을 포함하며, 하나 이상의 프로세서들은, 적어도, 복수의 이미지들을 수신하고 ― 복수의 이미지들 중 일 이미지는 복수의 포인터들 중 일 포인터를 포함하고, 이미지는 이미지 상의 이미지 위치에 있는 복수의 가상 사용자 인터페이스(UI) 디바이스들 중 일 가상 UI 디바이스와 연관되며, 이미지는 이미지 내의 포인터 및 가상 UI 디바이스에 대한 복수의 UI 이벤트들 중 일 UI 이벤트와 연관됨 ―; 트레이닝 이미지를 생성하기 위해 이미지 위치에서 이미지 상으로 가상 UI 디바이스의 표현을 렌더링하고; 입력 데이터 및 대응하는 타겟 출력 데이터를 포함하는 트레이닝 세트를 생성하며 ― 입력 데이터는 트레이닝 이미지를 포함하고, 대응하는 타겟 출력 데이터는 UI 이벤트를 포함함 ―; 그리고 가상 UI 디바이스 및 포인터와 연관된 UI 이벤트를 결정하기 위해 트레이닝 세트를 사용하여 뉴럴 네트워크를 트레이닝시키도록 실행가능 명령들에 의해 프로그래밍된다.
[0007] 또 다른 양상에서, 사용자 인터페이스 이벤트를 결정하기 위해 뉴럴 네트워크를 트레이닝시키기 위한 방법이 개시된다. 방법은 하드웨어 프로세서의 제어 하에 있으며, 복수의 이미지들을 수신하는 단계 ― 복수의 이미지들 중 제1 이미지는 복수의 포인터들 중 일 포인터의 제1 표현을 포함하고, 제1 이미지는 제1 이미지 내의 제1 이미지 위치에서 복수의 가상 사용자 인터페이스(UI) 디바이스들 중 일 가상 UI 디바이스의 제1 표현과 연관되며, 제1 이미지는 제1 이미지 내의 포인터 및 가상 UI 디바이스에 대한 복수의 UI 이벤트들 중 일 UI 이벤트와 연관됨 ―; 제1 트레이닝 이미지를 생성하기 위해 제1 이미지 위치에서 제1 이미지 상으로 가상 UI 디바이스의 제1 표현을 렌더링하는 단계; 입력 데이터 및 대응하는 타겟 출력 데이터를 포함하는 트레이닝 세트를 생성하는 단계 ― 입력 데이터는 제1 트레이닝 이미지를 포함하고, 대응하는 타겟 출력 데이터는 UI 이벤트를 포함함 ―; 및 가상 UI 디바이스 및 포인터와 연관된 UI 이벤트를 결정하기 위해 트레이닝 세트를 사용하여 뉴럴 네트워크를 트레이닝시키는 단계를 포함한다.
[0008] 본 명세서에 설명된 청구대상의 하나 이상의 구현들의 세부사항들은 아래의 상세한 설명 및 첨부한 도면들에서 기재된다. 다른 특징들, 양상들, 및 장점들은 설명, 도면들, 및 청구항들로부터 명백해질 것이다. 이러한 요약 또는 다음의 상세한 설명 중 어느 것도 본 개시내용의 청구 대상의 범위를 정의하거나 제한하는 것으로 의도되지 않는다.
[0009] 도 1은 증강 현실 디바이스의 사용자에 의해 지각되는 물리적 환경의 일 예를 예시한다.
[0010] 도 2는 증강 현실 디바이스의 사용자에 의해 지각되는 물리적 환경 및 가상 리모트 콘트롤을 포함하는 증강 환경의 일 예를 예시한다.
[0011] 도 3은 증강 현실 디바이스의 이미징 디바이스에 의해 캡처된, 사용자에 의해 지각되는 물리적 환경에 대응하는 이미지 상으로 렌더링된 가상 리모트 콘트롤의 버튼들의 표현들의 일 예를 예시한다.
[0012] 도 4a 및 도 4b는 증강 현실 디바이스의 2개의 이미징 디바이스들에 의해 캡처된 이미지들의 예시적인 스테레오스코픽(stereoscopic) 쌍을 예시하며, 버튼들의 표현들이 이미지들 상에 렌더링되어 있다.
[0013] 도 5a 내지 도 5d는 사용자 인터페이스 디바이스의 예시적인 표현들을 예시한다.
[0014] 도 6은 사용자 인터페이스 디바이스의 표현을 사용하여 사용자 인터페이스 이벤트를 결정하기 위해 뉴럴 네트워크를 트레이닝시키는 예시적인 방법의 흐름도를 도시한다.
[0015] 도 7은 사용자 인터페이스 디바이스의 표현을 사용하여 사용자 인터페이스 이벤트를 결정하기 위해 뉴럴 네트워크를 사용하는 예시적인 방법의 흐름도를 도시한다.
[0016] 도 8은 일 실시예에 따른, 특정한 가상 현실 물체들, 및 사람에 의해 보여지는 특정한 가상 현실 물체들을 갖는 증강 현실 시나리오의 예시를 묘사한다.
[0017] 도 9는 일 실시예에 따른 웨어러블 디스플레이 시스템의 일 예를 예시한다.
[0018] 도 10은 일 실시예에 따른, 다수의 깊이 평면들을 사용하여 3차원 이미저리(imagery)를 시뮬레이팅하기 위한 접근법의 양상들을 예시한다.
[0019] 도 11은 일 실시예에 따른, 이미지 정보를 사용자에게 출력하기 위한 도파관 스택의 일 예를 예시한다.
[0020] 도 12는 일 실시예에 따른, 도파관에 의해 출력될 수 있는 예시적인 출사 빔들을 도시한다.
[0021] 도 13은 일 실시예에 따른 디스플레이 시스템을 도시한 개략적인 다이어그램이다.
[0022] 도면들 전반에 걸쳐, 참조된 엘리먼트들 사이의 대응성을 표시하기 위해 참조 번호들이 재사용될 수 있다. 도면들은 본 명세서에 설명된 예시적인 실시예들을 예시하기 위해 사용되며, 본 개시내용의 범위를 제한하는 것으로 의도되지 않는다.
개관
[0023] 가상 사용자 인터페이스(UI) 디바이스는 WIMP(windows, icons, menus, pointer) UI 디바이스들의 스타일들 또는 구현들에 기반할 수 있다. 그러한 가상 UI 디바이스 스타일들 또는 구현들은 가상 UI 디바이스들의 나이브(naive) 구현으로 본 명세서에서 지칭된다. 일부 실시예들에서, WIMP UI 이벤트들을 검출하는 프로세스는 2개의 프로세스들로 분리되며, 제1 프로세스는 포인터(예컨대, 손가락, 손가락 끝 또는 스타일러스)의 위치의 컴퓨테이션이고, 제2 프로세스는 가상 UI 디바이스와 포인터의 상호작용의 결정이다.
[0024] 하나의 난제는 2개의 상이한 객체들, 즉 포인터 및 가상 UI 디바이스가 로컬화될 필요가 있다는 것이다. 종래의 2D 그래픽 사용자 인터페이스(GUI) 상에서, UI 디바이스의 위치는, 그 위치가 GUI 포인터 디바이스(예컨대, 마우스 포인터)에 의해 사용된 동일한 좌표들에서 생성되기 때문에 알려져 있다. 증강 현실 디바이스(ARD, 이를테면 도 9를 참조하여 설명된 웨어러블 디스플레이 시스템(900))의 경우, UI 디바이스 그 자체는 국제 좌표계 내의 특정한 위치에 나타나는 것으로 생성될 수 있다. ARD의 포즈 및 ARD의 교정으로 인한 에러들이 도입될 수 있다. 일부 구현들에서, 가상 UI 디바이스는 ARD 좌표계에서 (예컨대, ARD의 좌표 프레임에 대해) 렌더링될 수 있다. ARD 좌표계의 경우, ARD 디스플레이의 교정은 포인터의 위치를 결정하기 위해 포인터의 이미지들을 캡처하는 데 사용되는 하나 이상의 외향 카메라들의 교정과 별개일 수 있다. 어느 하나의 좌표계의 경우, 2개의 숫자들(예컨대, 가상 UI 디바이스의 위치들 및 포인터의 위치)이 차감될 필요가 있을 수 있고, 제로들 또는 제로-크로싱(zero-crossing)들이 검출되어야 한다. 이러한 프로세스에서의 잡음은 그러한 분석을 매우 어렵게 만들 수 있다. 딥 뉴럴 네트워크(DNN)들이 더 이상 포인터를 로컬화하는 데 사용되지 않더라도 난제들이 남는다. DNN을 직접 사용하여 그러한 상호작용들 또는 교차들(본 명세서에서 UI 이벤트들로 지칭됨)을 결정하기 위한 시스템들 및 방법들이 본 명세서에 개시된다. 일부 실시예들에서, 포인터 및 가상 UI 디바이스의 위치들이 또한 고려될 수 있다. 일부 실시예들에서, 초점은 포인터와 가상 UI 디바이스 사이의 상호작용 또는 교차를 결정하는 데 사용될 수 있다. 포인터 팁 및 UI 디바이스는 상호작용 및 UI 이벤트가 발생하기 위해 동일한 초점 상태에 있을 필요가 있을 수 있다.
[0025] NN을 트레이닝시키는 프로세스는 입력 데이터 및 대응하는 타겟 출력 데이터 둘 모두를 이용하여 네트워크를 제시하는 것을 수반한다. 예시적인 입력들 및 타겟 출력들 둘 모두를 포함하는 이러한 데이터는 트레이닝 세트로 지칭될 수 있다. 트레이닝시키는 프로세스를 통해, 네트워크의 가중치들은, 트레이닝 세트로부터의 특정한 입력 데이터가 주어지면, 네트워크의 출력이 그 특정한 입력 데이터에 대응하는 타겟 출력과 (예컨대, 가능한 근접하게) 매칭하게 되도록 증분적으로 또는 반복적으로 적응될 수 있다.
[0026] NN을 트레이닝시키기 위한 트레이닝 세트를 구성하는 것은 난제들을 제시할 수 있다. 트레이닝 세트의 구성은 NN을 트레이닝시키는 것 및 그에 따른 NN의 성공적인 동작에 중요할 수 있다. 일부 실시예들에서, 필요한 데이터의 양은 매우 클 수 있고, 이를테면 네트워크에 대한 정확한 거동의 수천개, 수백만개 또는 그 초과의 표본들 중 수십개 또는 수백개일 수 있다. 네트워크는, 입력들(예컨대, 오리지널 트레이닝 세트에 존재하지 않을 수 있는 신규한 입력들)에 대한 적절한 출력들을 예측하기 위해 그의 학습들을 정확하게 일반화시키도록 트레이닝 세트를 사용하여 학습될 수 있다. 가상 UI 디바이스 및 포인터와 연관된 사용자 인터페이스(UI) 이벤트(예컨대, 스타일러스에 의한 가상 버튼의 활성화)를 결정하기 위해 NN을 트레이닝시키기 위한 트레이닝 데이터를 생성하기 위한 시스템들 및 방법들이 본 명세서에 개시된다. 그러한 시스템들의 일 예는 제스처 인식 시스템일 수 있다.
[0027] 디스플레이, 이를테면 머리 장착가능 증강 현실 디스플레이(ARD), 혼합 현실 디스플레이(MRD), 또는 가상 현실 디스플레이(VRD)는 가상 UI 디바이스 및 포인터에 대한 UI 이벤트를 결정하기 위해 그러한 트레이닝된 NN을 구현할 수 있다. 본 명세서에 설명된 특정한 예들은 ARD를 참조하지만, 이것은 예시를 위한 것이고 제한이 아니다. 다른 예들에서, MRD 또는 VRD가 ARD 대신 사용될 수 있다. 사용자는 포인터(예컨대, 손가락, 손가락 끝 또는 스타일러스)를 사용하여 가상 UI 디바이스(예컨대, 버튼)의 작동 또는 활성화와 같은 UI 이벤트가 사용자의 환경에서 ARD 또는 디바이스들과 상호작용하게 할 수 있다. ARD는 NN을 사용하여 가상 UI 디바이스 및 포인터에 대한 가상 UI 디바이스 또는 UI 이벤트의 그러한 활성화를 결정할 수 있다. NN은 이미지들 상에 렌더링된 UI 디바이스들의 표현들을 갖는 이미지들을 사용하여 트레이닝될 수 있다.
[0028] NN을 트레이닝시키기 위한 UI 디바이스들의 표현들 및 ARD에 의해 사용자에게 디스플레이된 UI 디바이스들의 표현들은 스타일들에서 상이할 수 있다. 예컨대, ARD에 의해 사용자에게 디스플레이된 UI 디바이스의 표현은 스타일링된 UI 디바이스, 이를테면 스타일링된 버튼일 수 있다. NN을 트레이닝시키기 위해 이미지 상에 렌더링된 UI 디바이스의 표현은 높은 콘트라스트의 동심 형상들(또는 유사하거나 동일한 무게 중심들을 갖는 형상들)을 포함할 수 있다. 일부 구현들에서, UI 디바이스들의 그러한 표현들은, NN을 트레이닝시키기 위해 사용된 이미지들 상으로 렌더링될 경우, 유사한 UI 디바이스들이 유사한 표현들을 갖도록 유리하게 표준화될 수 있다. NN을 트레이닝시키기 위한 UI 디바이스들의 표준화된 표현들은 UI 디바이스들의 표준 표현들로 지칭될 수 있다. 예컨대, 상이한 타입들의 버튼들은, NN을 트레이닝시키기 위해 사용된 이미지들 상으로 렌더링될 경우 유사한 표현들을 가질 수 있다. UI 디바이스들의 표현들은 캡처된 이미지들(예컨대, 모노스코픽(monoscopic) 이미지, 이미지들의 스테레오스코픽 쌍, 또는 이미지들의 멀티스코픽(multiscopic) 세트) 상으로 렌더링될 수 있다. ARD는, NN을 사용하여, 사용자가 가상 UI 디바이스와 상호작용하고 있는 동안 UI 이벤트가 ARD의 외향 카메라를 사용하여 캡처된 포인터의 이미지를 프로세싱함으로써 발생되었다고 결정할 수 있다. UI 디바이스의 표준 표현은, NN이 UI 이벤트를 결정하기 위해 이미지를 프로세싱하기 전에, 사용자에 의해 지각되는 바와 같이, 캡처된 이미지 상으로 렌더링될 수 있다. 일부 구현들에서, 표준화된 표현들은 동일하거나 유사하거나 상이한 태스크들(예컨대, 상이한 타입들의 UI 이벤트들, 이를테면 손가락으로 터치 또는 포인팅하는 것을 식별함)에 대해 다수의 NN들을 트레이닝시키기 위해 표준화될 수 있다.
예시적인 사용자 환경
[0029] 도 1은 ARD의 사용자에 의해 지각되는 바와 같은 물리적 환경의 일 예를 예시한다. 예시적인 환경(100a)은 사용자의 홈의 거실을 포함한다. 환경(100a)은 물리적 물체들, 이를테면 텔레비전(TV)(104), 물리적 리모트 콘트롤(108)(때때로 간단히, 리모트로 지칭됨), TV 스탠드(112), 및 창문(116)을 갖는다. 사용자가 ARD를 착용하고 있는 동안, 사용자는 물리적 물체들을 지각하고 물리적 물체들과 상호작용할 수 있다. 예컨대, 사용자는 ARD를 착용하고 있는 동안 TV(104)를 시청할 수 있다. 사용자는 물리적 리모트(108)를 사용하여 TV(104)를 제어할 수 있다. 예컨대, 사용자는 TV(104)를 턴 온/오프시키거나 TV(104)의 채널 또는 볼륨을 변경시키기 위해 물리적 리모트(108)를 제어할 수 있다. 사용자는 또한, 가상 리모트를 사용하여 TV(104)와 상호작용할 수 있다. 가상 리모트는 물리적 리모트(108)의 기능들에 기반하여 생성될 수 있다. 예컨대, 가상 리모트는 물리적 리모트(108)의 기능들 중 일부 또는 전부를 모방할 수 있다(그리고 부가적인 또는 대안적인 기능성을 또한 제공할 수 있다).
[0030] 일 구현에서, 가상 리모트 콘트롤의 규격은 데이터 저장부, 이를테면 도 9에 도시된 리모트 데이터 저장소(932)에 저장될 수 있다. 규격들은 (예컨대, 레이아웃, 버튼들 및 다른 콘트롤들 등을 특정하는) 가상 리모트를 어떻게 렌더링할지에 대한 명령들, (예컨대, IRDA 규격으로부터) 리모트를 모방하는 데 필요한 통신 채널, 그 채널 상에서 모방될 실제 코드들(예컨대, "채널 2" 등의 선택과 연관된 정확한 IR 펄스 시퀀스) 등을 포함할 수 있다.
[0031] 사용자는 가상 리모트를 활성화시킬 수 있다. 활성화 시에, ARD는 사용자의 시야(FOV)에 가상 리모트를 렌더링할 수 있다. 가상 리모트는 물리적 리모트와 같은 타겟 물체의 기능들을 모방할 수 있다. 사용자는, 사용자 입력 디바이스를 활성화시킴으로써, 이를테면 예컨대, 마우스를 클릭하거나, 터치 패드를 탭핑하거나, 터치 스크린을 스와이프하거나, 정전식 버튼 위에서 맴돌거나 정전식 버튼을 터치하는 것, 키보드 또는 게임 제어기(예컨대, 5-방향 d-패드) 상의 키를 누르는 것, 조이스틱, 완드(wand) 또는 토템(totem)을 물체를 향해 포인팅하는 것, 리모트 콘트롤 상의 버튼을 누르는 것, 사용자 입력 디바이스와의 다른 상호작용들 등에 의해 가상 리모트를 활성화시킬 수 있다. 사용자는 또한, 머리, 눈, 또는 신체 포즈들을 사용하여, 이를테면 예컨대 일정 시간 기간 동안 타겟 물체를 응시하거나 포인팅함으로써 가상 리모트를 활성화시킬 수 있다.
[0032] 일부 구현들에서, 가상 리모트를 활성화시키기 위해, 사용자는 가상 리모트와 연관된 타겟 디바이스의 선택을 표시할 수 있다. 예컨대, 사용자는 대응하는 가상 리모트를 활성화시키기 위해 물리적 리모트의 선택을 표시할 수 있다. 도 1에 도시된 바와 같이, 사용자가 물리적 리모트(108)의 기능들에 기반하는 가상 리모트와 상호작용하기를 원하면, 사용자는 물체들을 터치하거나, 물체들을 손가락으로 포인팅하거나, 예컨대 핀칭(pinch)에 의해 물체들을 시각적으로 둘러싸거나, 또는 다른 손 제스처들을 사용하는 것과 같은 손 제스처들에 의해 물리적 리모트(108)를 표시할 수 있다. 일 예로서, 사용자는 연장된 시간 기간 동안 물리적 리모트(108)의 방향으로 포인팅할 수 있다. 다른 예로서, 사용자는 물리적 리모트(108)를 붙잡기 위한 손 제스처를 행함으로써 물리적 리모트(108)와 연관된 가상 리모트를 선택할 수 있다. 사용자는 또한, 사용자 입력 디바이스(예컨대, 도 11에 도시된 사용자 입력 디바이스(1104))를 사용하여 물리적 리모트(108)를 표시할 수 있다. 예컨대, 사용자는 스타일러스를 사용하여 물리적 리모트를 포인팅할 수 있다. 사용자는 또한, 가상 리모트가 제어하는 부모(parent) 디바이스를 선택함으로써 가상 리모트를 선택할 수 있다. 사용자는 손 제스처들을 사용하여, 그러한 선택을 위해 사용자 입력 디바이스를 활성화시킬 수 있다. 사용자는 ARD를 통해 환경(100a)을 지각할 수 있다. 사용자는 TV(104)에 대한 핀치 제스처를 갖는 자신의 좌측 팔(120a)을 지각할 수 있다. ARD는 TV(104)와 연관된 가상 리모트를 렌더링하여 사용자에게 제시하기 위한 커맨드로서 이러한 핀치 제스처를 지각할 수 있다. 다른 예로서, 사용자가 TV(104)를 제어하기 위해 가상 리모트를 선택하기를 원하면, 사용자는 TV(104)의 선택을 표시하기 위해 신체 포즈(이를테면, TV(104)를 붙잡거나 TV(104)를 포인팅하는 것)를 사용할 수 있다.
예시적인 증강 환경
[0033] 디스플레이인 것에 부가하여, ARD(또는 MRD 또는 VRD)는 입력 디바이스일 수 있다. 그러한 디바이스들에 대한 입력의 비-제한적인 예시적인 모드들은 포인터, 스타일러스, 또는 다른 물리적 물체들을 이용하는 제스처(예컨대, 손 제스처) 또는 모션들을 포함한다. 손 제스처는 사용자의 손의 모션, 이를테면 손이 일정 방향을 포인팅하는 것을 수반할 수 있다. 모션들은 3D 공간에서 터치하는 것, 누르는 것, 해제하는 것, 업/다운 또는 좌측/우측으로 슬라이딩하는 것, 궤적을 따라 이동하는 것, 또는 다른 타입들의 움직임들을 포함할 수 있다. 일부 구현들에서, 가상 사용자 인터페이스(UI) 디바이스들, 이를테면 가상 버튼들 또는 슬라이더들은 사용자에 의해 지각되는 가상 환경에서 나타날 수 있다. 이들 UI 디바이스들은 2차원(2D) 또는 3차원(3D) WIMP(windows, icons, menus, pointer) UI 디바이스들(예컨대, Windows®, iOSTM, 또는 AndroidTM 운영 체제들에 나타나는 것들))과 유사할 수 있다. 이들 UI 디바이스들의 예들은 가상 버튼, 업다운(updown), 스피너, 피커, 라디오 버튼, 라디오 버튼 리스트, 체크박스, 사진 박스, 체크박스 리스트, 드롭다운(dropdown) 리스트, 드롭다운 메뉴, 선택 리스트, 리스트 박스, 콤보(combo) 박스, 텍스트박스, 슬라이더, 링크, 키보드 키, 스위치, 슬라이더, 터치 표면, 또는 이들의 조합을 포함한다.
[0034] 도 2는 증강 현실 디바이스의 사용자에 의해 지각되는 물리적 환경 및 가상 리모트 콘트롤을 포함하는 증강 환경(200)의 일 예를 예시한다. 가상 리모트는 물리적 리모트의 기능들 중 일부 또는 전부 또는 레이아웃의 적어도 일부를 미러링할 수 있다. 이것은, 물리적 리모트의 기능성 또는 레이아웃에 익숙한 사용자가 가상 리모트 콘트롤을 동작시키는 것을 더 용이하게 할 수 있다. 사용자에 의한 가상 리모트의 선택 시에, ARD는 가상 리모트가 사용자 인근에 시각적으로 나타나도록 가상 리모트를 렌더링할 수 있다. 예컨대, 도 2에 도시된 바와 같이, ARD는 3차원(3D) 내의 특정한 위치에서 사용자의 리치(reach) 내에(예컨대, 팔의 길이 내에) 나타나는 것처럼 콘트롤 패널(128)을 포함하는 가상 리모트(124)를 렌더링할 수 있어서, 사용자는 가상 리모트(124)와 편리하게 상호작용할 수 있다. 일부 실시예들에서, 사용자가 그의 환경에서 주위를 이동함에 따라, 가상 리모트는 그에 따라 사용자와 함께 이동할 수 있다. 예컨대, ARD는 사용자의 환경 내의 사용자의 현재 포지션에 관계없이 사용자로부터 특정한 거리에 가상 리모트(124)를 제시할 수 있다.
[0035] ARD는 사용자의 물리적 환경 상으로 중첩되는 것처럼 가상 리모트(124)를 렌더링할 수 있다. 예컨대, ARD는 가상 리모트(124)가 벽의 앞에 있는 것처럼 가상 리모트(124)를 렌더링할 수 있다. 가상 리모트(124)는, 사용자가 사용자의 물리적 환경의 일부를 가리는 가상 리모트를 지각할 수 있어서, 가상 리모트가 환경의 일부의 앞에 있는 것처럼 나타나도록 하는 투명하지 않은 렌더링을 가질 수 있다. 일부 구현들에서, 가상 리모트(124)는 사용자가 가상 리모트를 통해 볼 수 있도록 적어도 부분적으로 투명하게 렌더링될 수 있다. 예컨대, 도 2에 도시된 바와 같이, 사용자는, 사용자가 가상 리모트(124)를 창문 및 벽 앞에 있는 것으로 지각할 수 있더라도 창문 문틀 뿐만 아니라 벽을 볼 수 있다. 가상 리모트의 일부들(예컨대, 사용자에 의해 활성화 또는 작동될 수 있는 가상 UI 디바이스들, 이를테면 버튼들)은 가상 리모트(124)가 배경 환경을 덜 가리도록 다른 부분들(예컨대, 몸체 또는 프레임)보다 덜 투명하게 렌더링될 수 있다.
[0036] 사용자는 또한, 가상 리모트(124)의 렌더링한 위치, 사이즈, 또는 배향을 이동시킬 수 있다. 예컨대, 사용자는 사용자에게 더 가깝게(또는 멀리), 상향/하향, 좌측/우측 등으로 가상 리모트(124)를 이동시킬 수 있다. 사용자는 또한, 사용자로부터 특정한 거리에 있도록 또는 사용자의 환경 내의 (예컨대, 3차원으로 사용자에게 나타나는 것처럼) 특정한 위치에 있도록 가상 리모트(124)의 렌더링한 위치를 고정시킬 수 있다.
[0037] 사용자는 포인터(예컨대, 손가락, 손가락 끝 또는 스타일러스)를 사용함으로써 가상 리모트(124)의 가상 UI 디바이스(예컨대, 버튼)의 작동 또는 활성화와 같은 UI 이벤트가 사용자의 환경에서 ARD 또는 디바이스들(예컨대, TV(104))과 상호작용하게 할 수 있다. ARD는 NN을 사용하여 가상 UI 디바이스 및 포인터에 대한 가상 UI 디바이스 또는 UI 이벤트의 그러한 활성화를 결정할 수 있다. NN은, ARD에 의해 사용자에게 나타낸 UI 디바이스들의 표현들과 상이할 수 있는, 아래에서 더 상세히 설명되는 UI 디바이스들의 표현들을 갖는 이미지들을 사용하여 트레이닝될 수 있다. NN을 트레이닝시키기 위해 하나 이상의 이미지들 상으로 렌더링하기 위한 UI 디바이스의 표현은 높은 콘트라스트의 동심 형상들(또는 유사하거나 동일한 무게 중심들을 갖는 형상들)을 포함할 수 있다. UI 디바이스들의 그러한 표현들은 캡처된 이미지들(예컨대, 모노스코픽 이미지, 이미지들의 스테레오스코픽 쌍, 또는 이미지들의 멀티스코픽 세트) 상으로 렌더링될 수 있다. ARD는, NN을 사용하여, 사용자가 가상 UI 디바이스와 상호작용하고 있는 동안 UI 이벤트가 ARD의 외향 카메라를 사용하여 캡처된 포인터의 이미지를 프로세싱함으로써 발생되었다고 결정할 수 있다. UI 디바이스의 표준 표현은, NN이 UI 이벤트를 결정하기 위해 이미지를 프로세싱하기 전에, 사용자에 의해 지각되는 바와 같이, 캡처된 이미지 상으로 렌더링될 수 있다.
[0038] 일부 구현들에서, NN을 트레이닝시키기 위한 UI 디바이스들의 표현들은, NN을 트레이닝시키기 위해 사용된 이미지들 상으로 렌더링될 경우, 유사한 UI 디바이스들이 유사한 표현들을 갖도록 유리하게 표준화될 수 있다. 예컨대, 일부 구현들에서, UI 디바이스의 표준 표현은 특정한 타입의 UI 디바이스의 임의의 타입에 대해 사용되는 그릴 수 있는 렌더링가능 표현 시각화이다. NN에 의해 사용되는 표준 표현은 ARD에 의해 사용자에게 보여지게 되는 표현과 동일할 수 있지만 동일할 필요가 없을 수 있다. 특정한 타입의 디바이스는 디바이스 타입들의 산업 표준 또는 다른 논리적 그룹화 또는 분류체계(예컨대, 텔레비전 리모트 콘트롤들, 또는 제조에 의한 텔레비전 리모트 콘트롤들, 또는 제조사 및 텔레비전 클래스(예컨대, LCD 디스플레이, LED 디스플레이, 대각선 사이즈, 가격 등)에 의한 텔레비전 리모트 콘트롤들)에 따라 배열될 수 있다. 다른 경우들에서, 표준 표현은 기능성, 이를테면 누름가능 버튼에 대한 표준 표현, 슬라이더 바에 대한 표준 표현, 터치 스크린에 대한 표준 표현 등을 지칭할 수 있다. NN을 트레이닝시키기 위한 UI 디바이스들의 표준화된 표현들은 UI 디바이스들의 표준 표현들로 지칭될 수 있다. 예컨대, 상이한 타입들의 버튼들은, NN을 트레이닝시키기 위해 사용된 이미지들 상으로 렌더링될 경우 유사한 표현들을 가질 수 있다. 일부 구현들에서, 표준화된 표현들은 동일한 태스크, 유사한 태스크들(예컨대, 버튼을 누르거나 또는 눌려진 버튼을 해제함), 또는 상이한 태스크들(예컨대, 상이한 타입들의 UI 이벤트들, 이를테면 손가락으로 터치 또는 포인팅하는 것을 식별함)에 대해 다수의 NN들을 트레이닝시키기 위해 표준화될 수 있다.
[0039] 도 2에서, 사용자는 ARD를 사용하여 환경(200)을 지각할 수 있다. 환경(200)은 TV(104)와 같은 물리적 물체들, TV(104)를 제어하기 위한 물리적 리모트(108), TV 스탠드(112), 및 창문(116)을 포함할 수 있다. 환경(200)은 또한 가상 리모트(124)를 포함할 수 있다. 가상 리모트(124)는 TV(104)를 제어하기 위한 물리적 리모트(108)의 기능들을 모방할 수 있다. 예컨대, 가상 리모트(124)의 가상 UI 디바이스들, 이를테면 버튼(132a)의 레이아웃 및 기능들은 물리적 리모트(104)의 물리적 버튼들과 실질적으로 동일할 수 있다.
[0040] 가상 리모트(124)는 가상 UI 디바이스들, 이를테면 가상 키보드, 가상 버튼, 가상 스위치, 토글 또는 슬라이더, 가상 터치 표면, 또는 이들의 임의의 컴포넌트들(예컨대, 키보드의 키)을 포함할 수 있다. 이들 가상 UI 디바이스들은 가상 리모트(124)의 콘트롤 패널(128)의 일부일 수 있다. 가상 리모트(124)와 상호작용하기 위해, 사용자는 가상 UI 디바이스에 대해 UI 이벤트(예컨대, 활성화 또는 비활성화)를 개시할 수 있다. 예컨대, 사용자는, 3D 공간에서 터치하는 것, 누르는 것, 해제하는 것, 업/다운 또는 좌측/우측으로 슬라이딩하는 것, 궤적을 따라 이동하는 것, 또는 다른 타입들의 움직임들에 의해 가상 UI 디바이스(132a)와 상호작용할 수 있다.
[0041] 가상 UI 디바이스, 이를테면 가상 리모트(124)의 가상 버튼의 작동 또는 활성화 시에, ARD는 가상 리모트가 물리적 리모트(108)인 것처럼 TV(104)와 통신할 수 있다. 일 예로서, 도 2에서, 사용자는 가상 UI 디바이스(132a)를 활성화시키기 위해 포인터(예컨대, 우측 손(120b)의 손가락 또는 스타일러스)를 사용할 수 있다. ARD는 포인터의 위치를 이미징하기 위해 외향 이미징 시스템을 사용할 수 있다. 아래에서 추가로 설명되는 바와 같이, 포인터의 위치에 기반하여, ARD는 어느 UI 이벤트(이를테면, 활성화)가 가상 UI 디바이스 및 포인터에 대해 이루어지는지를 컴퓨팅할 수 있다. 도 2에 묘사된 예에서, ARD는 사용자의 우측 집게 손가락이 버튼(132a)을 활성화시키고 있다고 결정할 수 있다. 손 제스처를 사용하여 가상 버튼을 활성화시키는 것에 부가하여, 사용자는 또한, 사용자 입력 디바이스, 이를테면 스타일러스, 포인터, 완드 또는 토템을 사용하여 가상 버튼을 활성화시킬 수 있다.
[0042] 일단 사용자가 가상 리모트(124)의 가상 UI 디바이스를 활성화시켰다고 ARD가 검출하면, ARD는 그에 따라, 사용자에 의한 가상 UI 디바이스에 기초한 액션을 수행하도록 디바이스에게 명령하기 위한 신호를 IR 방출기와 같은 신호 생성기를 통해 대응하는 디바이스(예컨대, TV(104))에 전송할 수 있다. 예컨대, 사용자는 가상 리모트(124) 상의 가상 버튼(132a)을 터치할 수 있다. 이러한 버튼(132a)이 TV(104)의 볼륨을 증가시키는 것과 연관되면, ARD는 그에 따라, 신호(이를테면, ARD 상의 IR 방출기에 의해 생성된 IR 신호)를 생성하고 그 신호를 TV(104)(IR 검출기를 가질 수 있음)에 통신할 수 있으며, 그에 의해 TV(104)가 그의 볼륨을 증가시키게 한다. ARD에 의해 생성된 신호는 대응하는 물리적 원격 리모트에 의해 생성될 것과 동일한 신호일 수 있다.
[0043] 신호가 시선(line-of sight) 신호(이를테면, TV의 IR 검출기에 지향되어야 하는 IR 신호)인 경우들에서, ARD 상의 방출기는 (물리적 리모트 콘트롤이 그의 연관된 디바이스에 포인팅되어야 하는 것처럼) 디바이스를 향해 지향될 필요가 있을 수 있다. 유리하게, ARD는 (예컨대, TV(104)의 볼륨을 증가시키거나 채널을 변경시키기 위한) 요청된 커맨드가 (예컨대, 각각, 사운드 세기의 증가를 결정하기 위해 ARD 상의 마이크로폰을 사용하거나 TV(104)의 디스플레이가 변경되었다고 결정하기 위해 외향 카메라를 사용함으로써) 발생되었는지 여부를 결정하도록 구성될 수 있다. 커맨드의 효과가 제어되는 디바이스에 의해 생성되지 않았다면, ARD는 사용자의 포즈를 변경시키도록 사용자에게 명령할 수 있어서, ARD의 방출기가 제어되는 디바이스를 향해 지향되게 한다. 예컨대, ARD는 제어되는 디바이스를 향해 사용자의 머리를 포인팅하도록 시각적 그래픽(또는 가청 명령)을 생성할 수 있다. 일부 구현들에서, ARD와 디바이스 사이의 통신은, 예컨대 무선 RF 신호들 또는 초음파 음향 신호들이 사용될 경우 방해받지 않은 시선을 요구하지 않을 수 있으며, 전술한 기능성은 선택적일 수 있다.
[0044] 사용자가 가상 리모트(104)를 다 이용한 경우, 사용자는 가상 리모트(124)의 디스플레이가 사라지게 하기 위해 손 제스처를 사용할 수 있다. 일 예로서, 사용자가 TV 프로그램을 시청하고 있는 경우, 사용자는 그가 가상 리모트를 더 이상 필요로 하지 않는다고 판단할 수 있다. 그 결과, 사용자는 그가 가상 리모트(124)를 다 이용했다는 것을 표시하기 위해 그의 손을 흔들 수 있다. 사용자는 또한, 가상 리모트(124)를 종결하기 위해 가상 리모트(124) 상의 가상 UI 디바이스(예컨대, 전원 버튼(136a))를 누를 수 있다. 응답으로, ARD는 가상 리모트(124)를 디스플레이하는 것을 중단하거나, 또는 가상 리모트(124)가 (예컨대, 증가된 투명도로) 실질적으로 덜 시각적으로 지각가능하도록 가상 리모트(124)를 디스플레이할 수 있으며, 이는 사용자가 가상 리모트(124)를 나중에 선택하는 것을 도울 수 있다.
[0045] 특정한 구현들에서, ARD는 자동으로 또는 사용자 커맨드에 대한 응답으로, 사용자의 FOV로부터 가상 리모트(124)를 일시적으로 숨기거나 또는 사용자의 FOV 외부로 또는 사용자의 FOV의 에지로 가상 리모트를 이동시킬 수 있다. 예컨대, ARD는 또한 임계 조건이 충족되면 가상 리모트(124)를 자동으로 숨길 수 있다. ARD는, 가상 UI 디바이스들, 이를테면 가상 리모트(124)의 버튼들 중 어느 것도 임계 시간 기간(이를테면, 10초, 1분, 2분 등) 동안 비활성화되지 않는다는 것을 검출할 수 있다. ARD는, 이를테면 가상 리모트(124)의 투명도를 증가시킴으로써 가상 리모트(124)를 점진적으로 페이드 아웃(fade out)시킬 수 있다. 예컨대, 가상 리모트(124)는 페이딩 아웃 프로세스의 일부로서 비-투명으로부터 투명으로 변할 수 있다. ARD는 또한, 가상 리모트(124)의 가시성을 감소시킴으로써 가상 리모트(124)를 페이드 아웃시킬 수 있다. 예컨대, ARD는 가상 리모트(124)의 사이즈를 점진적으로 감소시키거나 가상 리모트(124)의 컬러를 어두운 컬러로부터 밝은 컬러로 변경시킬 수 있다.
[0046] 본 명세서의 일부 예들이 물리적 디바이스(예컨대, 물리적 텔레비전)를 제어하기 위해 가상 리모트 콘트롤을 사용하는(예컨대, 가상 리모트 콘트롤의 하나 이상의 가상 UI 디바이스들, 이를테면 버튼들을 활성화시키는) 맥락에서 설명되지만, 이것은 단지 예시를 위한 것일 뿐이며, 제한인 것으로 의도되지 않는다. 가상 리모트 콘트롤 또는 가상 UI 디바이스들의 실시예들이 가상 디바이스들을 제어하기 위해 부가적으로 또는 대안적으로 사용될 수 있다. 예컨대, ARD의 사용자는 ARD에 의해 렌더링되고 사용자에게 디스플레이되는 가상 텔레비전을 제어하기 위해 가상 리모트 콘트롤을 사용할 수 있다.
UI 디바이스들의 표현들의 예시적인 렌더링
[0047] 예시적인 입력들 및 타겟 출력들을 포함하는 트레이닝 세트를 생성하고, 트레이닝 세트를 사용하여 뉴럴 네트워크(NN)를 트레이닝시키며, 트레이닝된 NN을 사용하기 위한 시스템들 및 방법들이 본 명세서에 개시된다. NN의 토폴로지는 임의의 기능 토폴로지, 이를테면 Alex-Net 또는 그의 파생물일 수 있다. NN의 토폴로지는, 시간적 콘텍스트를 카테고리 분류에 제공하는 데 사용될 수 있는 회귀 네트워크를 포함할 수 있다.
[0048] NN은 카테고리에 속하는 입력 데이터 세트를 사용하여 트레이닝될 수 있다. 예컨대, 상이한 UI 이벤트들(예컨대, 가상 UI 디바이스가 활성화되거나 활성화되지 않음)은 입력 데이터 세트 내의 상이한 카테고리 값들에 대응할 수 있다. 일부 실시예들에서, 입력 데이터 세트는 일부 정량적 값들을 포함할 수 있다. NN은 상이한 카테고리 값들에 대응하는 2개 이상의 상태, 이를테면 가상 UI 디바이스가 활성화된 상태 및 가상 UI 디바이스가 활성화되지 않은 상태를 인식하도록 트레이닝될 수 있다. 예컨대, 가상 UI 디바이스가 버튼이면, NN은 상태들, 즉 "눌려짐" 및 "눌려지지 않음"을 인식하도록 트레이닝될 수 있다. 다른 상태들, 이를테면 "터치"가 가능할 수 있다.
[0049] 예시적인 입력들 및 타겟 출력들은 이미지들을 포함할 수 있으며, 그 이미지들 상에 가상 UI 디바이스들의 표현들이 렌더링된다. 이미지 상에 렌더링된 UI 디바이스의 표현은 사용자에게 가시적인 표현이 아니라 오히려 특정한 타입의 UI 디바이스들에 대해 사용될 수 있는 그릴 수 있는 렌더링가능 시각화일 수 있다. 예컨대, 일부 구현들에서, 모든 버튼 타입 UI 디바이스들은 완전한 백색 디스크로서 표현될 수 있다.
[0050] 일부 실시예들에서, 트레이닝된 NN은 UI 이벤트가 발생했는지를 결정하기 위해 카메라 이미지를 사용할 수 있다. 카메라는 포인터(예컨대, 손가락 또는 스타일러스)를 보도록 배치될 수 있으며, 캡처된 이미지들은 입력으로서 NN에 제공될 수 있다. NN의 출력은 UI 이벤트가 발생했는지에 관한 결정, 및 발생했다면, 발생한 특정한 UI 이벤트를 포함할 수 있다.
[0051] 일부 실시예들에서, UI 디바이스는 NN을 트레이닝시키기 위한 그의 표현에서, 트레이닝 뿐만 아니라 동작 시에 NN에 입력된 모든 각각의 이미지 상으로 렌더링될 수 있다. "~상으로 렌더링된"은, UI 디바이스가 그의 표현에서, 이미지를 캡처하는 데 사용되는 카메라의 위치로부터 보여지면 UI 디바이스가 가상 위치에 있는 것처럼(그리고, 단독으로 또는 조합하여, 카메라 및 그의 연관된 렌즈의 측정된 고유 파라미터들에 적절한 뷰 절두체로; 고유 파라미터들은, 예컨대 카메라의 초점 거리들, 주 포인트 오프셋들, 및 축 스큐(skew)를 포함할 수 있음) 정밀하게 나타나도록 렌더링되는 것을 지칭할 수 있다.
[0052] 이러한 방식으로, 이미지는 포인터 및 가상 UI 디바이스의 표현 둘 모두를 포함하는 증강된 이미지이다. NN이 트레이닝될 경우, 제시되는 모든 이미지들은 각각 상에 렌더링된 하나 이상의 가상 UI 디바이스들의 그러한 표현들을 가질 수 있다. 각각의 그러한 이미지는 그의 상태(예컨대, "버튼이 눌려짐")와 연관될 수 있다. 부정적인 예들은 트레이닝 프로세스 동안 DNN에 유사하게 제공될 수 있으며, 여기서 UI 디바이스들은 이미지들 상에 렌더링될 수 있지만, 가상 UI 디바이스는 활성화되지 않을 수 있다(예컨대, "버튼이 눌려지지 않음").
[0053] 도 2는 증강 현실 디바이스의 사용자에 의해 지각되는 물리적 환경 및 가상 리모트 콘트롤을 포함하는 증강 환경(200)의 일 예를 예시한다. 원격 콘트롤(124) 및 가상 UI 이벤트들(예컨대, 버튼(132a))을 포함하는 사용자 인터페이스는 임의의 적절한 그래픽 형태로 사용자에게 시각적으로 제시될 수 있다. DNN은 사용자에 의해 지각되고 카메라(이를테면, 도 11의 외향 이미징 시스템(1154))에 의해 캡처된 사용자의 환경의 이미지의 수정된 버전을 제공받을 수 있다. 예컨대, 수정된 이미지는, 사용자에게 실제로 보여지는 버전(도 3)이 아니라 주석달린 가상 UI 디바이스들, 이를테면 UI 디바이스들에 대한 표준화된 표현들을 포함할 수 있다. 도 3은 증강 현실 디바이스의 이미징 디바이스에 의해 캡처된, 사용자에 의해 지각되는 물리적 환경에 대응하는 이미지 상으로 렌더링된 가상 리모트 콘트롤의 버튼들의 표현들의 일 예를 예시한다.
[0054] 일부 실시예들에서, 버튼들 또는 UI 디바이스들의 표현들은 가림 없이 렌더링될 수 있어서, 표현들은 포인터의 (예컨대, 이미지의 관점으로부터) "상단 상에" 나타날 수 있다(도 3). 예컨대, 사용자의 손가락 끝이 가려져 있는 버튼(132a)의 표현(132b)이 도 3에 도시된다. 버튼(132a)의 표현(132b)은 사용자의 손가락 끝의 "상단 상에" 나타난다. NN은, NN이 가려지거나 가려지지 않으면서 렌더링된 표현들을 갖는 이미지들을 사용하여 트레이닝되는지에 관계없이, 가려지거나 가려지지 않으면서 렌더링된 표현들을 갖는 이미지들에서 UI 이벤트들을 유리하게 결정할 수 있다. UI 디바이스들의 표현들의 예들은 도 5a 내지 도 5d를 참조하여 아래에서 설명된다.
[0055] 일부 실시예들에서, 포인터 및 가상 UI 디바이스의 위치들이 또한 고려될 수 있다. 일부 실시예들에서, 초점은 포인터와 가상 UI 디바이스 사이의 상호작용 또는 교차를 결정하는 데 사용될 수 있다. 포인터 팁 및 UI 디바이스는 상호작용 및 UI 이벤트가 발생하기 위해 동일한 초점 상태에 있을 필요가 있을 수 있다.
[0056] 일부 실시예들에서, 다수의 가상 UI 디바이스들이 사용자에게 동시에 존재할 수 있다. 예컨대, 도 2에 도시된 바와 같이, 사용자는 리모트 콘트롤(124)의 복수의 가상 UI 디바이스들, 이를테면 버튼들(132a, 136a)을 지각할 수 있다. 표현들이 렌더링되어 있는 이미지는 복수의 버튼들의 표현들(예컨대, 도 3에 도시된 바와 같은 버튼들(132a, 136a)의 표현들(132b, 136b))을 포함할 수 있다. UI 이벤트에 수반된 특정한 가상 UI 디바이스가 결정될 수 있다. 예컨대, 트레이닝 세트를 생성할 경우, UI 이벤트에 수반된 가상 UI 디바이스는, 이미지가 캡처된 이후 사후(post facto)에 결정될 수 있다. 가상 UI 디바이스들에 대한 포인터의 로컬화에 기반한 방법들은, 요구되는 정밀도가 덜 할때 이러한 사후 결정을 위해 사용될 수 있다.
[0057] 일부 실시예들에서, 트레이닝 세트는 스테레오스코픽 이미지들의 쌍들을 포함할 수 있다. 예컨대, ARD의 전향(forward-facing) 이미징 시스템은 스테레오스코픽 이미지들을 캡처하기 위한 2개 이상의 이미징 디바이스들(예컨대, 카메라들)을 포함할 수 있다. 도 4a 및 도 4b는 증강 현실 디바이스의 2개의 이미징 디바이스들에 의해 캡처된 이미지들(400a, 400b)의 예시적인 스테레오스코픽 쌍을 예시하며, 버튼들의 표현들이 이미지들 상에 렌더링되어 있다. 예컨대, 버튼들(132a, 136a)의 표현(132b1, 136b1)이 이미지(400a)에 도시되어 있으며, 버튼들(132a, 136a)의 대응하는 표현(132b2, 136b2)이 이미지(400b)에 도시되어 있다. 이미지들(400a, 400b)의 쌍 내의 버튼(132a)의 표현들(132b1, 132b2)은 사용자의 손가락 끝의 "상단 상에" 나타난다. 도 4a 및 도 4b에서, 이미지들(400a, 400b) 내의 왼손(120a) 및 TV(104)의 위치들 사이의 가시적 불일치들에 의해 보여지는 바와 같이, 왼손(120a)은 오른손(120b)보다 사용자에게 더 가깝고, 텔레비전(104) 및 배경(예컨대, 벽)은 오른손(120b)으로부터 더 멀리 있다. 오른손(120b)과 UI 디바이스들 및 그들의 표현들(예컨대, 버튼들(132a, 136a) 및 그들의 대응하는 표현들(132b1, 132b2, 136b1, 136b2))이 동일한 깊이에 있기 때문에, 오른손(120b)과 UI 디바이스들 및 그들의 표현들 사이에 어떠한 상대적인 불일치도 존재하지 않는다. 일부 구현들에서, 모노스코픽 이미지들의 세트들은 NN을 트레이닝시키고 NN을 사용하여 UI 이벤트들을 결정할 시에 사용될 수 있다. 예컨대, ARD의 전향 이미징 시스템은 멀티스코픽 이미지들을 캡처하기 위한 다수의 이미징 디바이스들(예컨대, 카메라들)을 포함할 수 있다. 그러한 NN은, 그 경우에 예상될 수 있는 우수한 결과들을 유리하게 가질 수 있다.
UI 디바이스들의 예시적인 표현들
[0058] 도 5a 내지 도 5d는 사용자 인터페이스(UI) 디바이스의 예시적인 표현들을 예시한다. UI 디바이스의 뚜렷한 이미지를 가능하게 하기 위해, NN을 트레이닝시키기 위한 UI 디바이스의 표현은 높은 콘트라스트의 동심 형상들(또는 유사하거나 동일한 무게 중심들을 갖는 형상들)을 포함할 수 있다. 도 5a는 손가락 끝(516a)에 의한 가림 없이 손가락 끝(516a) 상으로 렌더링된 3개의 동심 링들(504a 내지 512a)을 갖는 버튼의 표현(500a)을 도시한다. 표현(500a)은 흑색 링(508a)을 포함할 수 있으며, 흑색 링(508a) 외부에는 백색 링(504a)이 존재하고 흑색 링(508a) 내에는 백색 링(512a)이 존재한다. 도 5a(및 도 5b 내지 도 5d)의 백색 링들(504a 및 512a)에 인접하게 도시된 점선들은 버튼(500a)의 표현의 일부가 아니다. 점선들은, 렌더링되는 표현(500a)을 둘러싸는, 외향 이미징 시스템에 의해 캡처된 이미지의 일부로부터 백색 링들을 묘사하기 위해 도 5a에 도시된다.
[0059] 도 5b는 손가락 끝(516b)에 의한 가림 없이 손가락 끝(516b) 상으로 렌더링된 2개의 동심 링들(504b 내지 508b)을 갖는 버튼의 표현(500b)을 도시한다. 표현(500b)은 흑색 링(508b)을 포함할 수 있으며, 흑색 링(508b) 외부에는 백색 링(504b)이 존재하고 흑색 링(508b) 내에는 어떠한 백색 링도 존재하지 않는다. 도 5c는 손가락 끝(516c)에 의한 가림 없이 손가락 끝(516c) 상으로 렌더링된 2개의 링들(504c 내지 508c) 및 원(512c)을 갖는 버튼의 표현(500c)을 도시한다. 표현(500c)은 흑색 링(508c)을 포함할 수 있으며, 흑색 링(508c) 외부에는 백색 링(504c)이 존재하고 흑색 링(508c) 내에는 백색 원이 존재한다.
[0060] 도 5d는 손가락 끝(516d)에 의한 가림 없이 손가락 끝(516d) 상으로 알파 블렌딩을 이용하여 렌더링된 3개의 동심 링들(504d 내지 512d)을 갖는 버튼의 표현(500d)을 도시한다. 표현(500d)은 흑색 링(508d)을 포함할 수 있으며, 흑색 링(508d) 외부에는 백색 링(504d)이 존재하고, 흑색 링(508a) 내에는 백색 링(512d)이 존재하고, 백색 링들은 알파 블렌딩을 이용하여 렌더링되며, 이를테면, 흑색 링으로부터의 거리가 증가함에 따라 링이 점차 투명해지게(예컨대, 알파 투명도 값이 제로에 접근함) 렌더링된다. 백색 링(5)의 상단 상에 도시된 4개의 점선들은 버튼(500d)의 표현의 일부가 아니다. 이들 점선들은 상이한 투명도 값들을 갖는 백색 링(512d)의 구역들을 묘사하기 위해 도 5d에 도시된다. 일부 실시예들에서, 백색 링(512d)의 4개의 구역들은 상이한 투명도 값들을 갖는 4개의 동심 링들(512d1 내지 512d4)로서 고려될 수 있다.
[0061] 일부 구현들에서, NN을 트레이닝시키기 위한 이미지들 상으로의 표현들의 렌더링은 포인터에 의한 가림을 고려할 수 있거나 고려하지 않을 수 있다. 예컨대, 포인터의 이미지들은 구조화된 광 투사, 비행 시간 카메라, 또는 이들의 조합을 이용하여 스테레오스코픽하게 캡처될 수 있다. 이들 이미지들로부터, 깊이 필드가 임의의 이미지와 연관될 수 있다. 이러한 깊이 필드는 트레이닝 및 입력 데이터 둘 모두를 렌더링할 경우 UI 디바이스의 표현에 대한 가림을 제공하는 데 사용될 수 있다.
예시적인 머신 러닝 모델들 및 NN들
[0062] 일부 실시예들에서, 머신 러닝 모델은 분류 모델을 포함한다. 분류 모델은 감독 분류 모델, 준-감독 분류 모델, 비감독 분류 모델 또는 이들의 조합을 포함할 수 있다. 머신 러닝 모델은 뉴럴 네트워크, 선형 회귀 모델, 로지스틱 회귀 모델, 결정 트리, 지원 벡터 머신, 나이브 베이어 네트워크, KNN(k-nearest neighbors) 모델, k-평균 모델, 랜덤 포레스트(random forest) 모델, 또는 이들의 임의의 조합을 포함할 수 있다. 머신 러닝 모델은 연관 규칙 러닝 모델, 유도성 로직 프로그래밍 모델, 강화 러닝 모델, 피처 러닝 모델, 유사성 러닝 모델, 희소 사전 러닝 모델(sparse dictionary learning model), 제너릭 알고리즘 모델(genetic algorithm model), 규칙-기반 머신 러닝 모델, 러닝 분류 시스템 모델, 또는 이들의 임의의 조합을 포함할 수 있다.
[0063] 뉴럴 네트워크(NN), 이를테면 딥 뉴럴 네트워크(DNN)의 계층은 그의 출력을 생성하기 위해 그의 입력에 선형 또는 비-선형 변환을 적용할 수 있다. 딥 뉴럴 네트워크 계층은 정규화 계층, 콘볼루셔널 계층, 소프트싸인(softsign layer) 계층, 정류된 선형 계층, 연접 계층, 풀링 계층, 회귀 계층, 인셉션-형 계층, 또는 이들의 임의의 조합일 수 있다. 정규화 계층은, 예컨대 L2 정규화를 이용하여 그의 출력을 생성하기 위해 그의 입력의 밝기를 정규화시킬 수 있다. 정규화 계층은, 예컨대 복수의 정규화된 이미지들을 그의 출력으로서 생성하기 위해 서로에 대한 복수의 이미지들의 밝기를 한꺼번에 정규화시킬 수 있다. 밝기를 정규화시키기 위한 방법들의 비-제한적인 예들은 로컬 콘트라스트 정규화(LCN) 또는 로컬 응답 정규화(LRN)를 포함한다. 로컬 콘트라스트 정규화는, 제로의 평균 및 1의 분산(또는 다른 값들의 평균 및 분산)을 갖도록 픽셀 기반으로 이미지의 로컬 구역들을 정규화시킴으로써 이미지의 콘트라스트를 비-선형으로 정규화시킬 수 있다. 로컬 응답 정규화는, 제로의 평균 및 1의 분산(또는 다른 값들의 평균 및 분산)을 갖도록 로컬 입력 구역들에 걸쳐 이미지를 정규화시킬 수 있다. 정규화 계층은 트레이닝 프로세스를 가속화시킬 수 있다.
[0064] 콘볼루셔널 계층은 그의 출력을 생성하기 위해 그의 입력을 콘볼빙시키는 커널들의 세트를 적용할 수 있다. 소프트싸인 계층은 그의 입력에 소프트싸인 함수를 적용할 수 있다. 소프트싸인 함수(softsign(x))는, 예컨대 (x/(1+|x|))일 수 있다. 소프트싸인 계층은 엘리먼트별 이상치(outlier)들의 영향을 무시할 수 있다. 정류된 선형 계층은 정류된 선형 계층 유닛(ReLU) 또는 파라미터화된 정류된 선형 계층 유닛(PReLU)일 수 있다. ReLU 계층은 그의 출력을 생성하기 위해 그의 입력에 ReLU 함수를 적용할 수 있다. ReLU 함수 ReLU(x)는, 예컨대 max(0, x)일 수 있다. PReLU 계층은 그의 출력을 생성하기 위해 그의 입력에 PReLU 함수를 적용할 수 있다. PReLU 함수 PReLU(x)는, 예컨대 x≥0이면 x 그리고 x<0이면 ax일 수 있으며, 여기서 a는 양의 수이다. 연접 계층은 그의 출력을 생성하기 위해 그의 입력을 연접시킬 수 있다. 예컨대, 연접 계층은 하나의 20×20 이미지를 생성하기 위해 4개의 5×5 이미지들을 연접시킬 수 있다. 풀링 계층은 그의 출력을 생성하기 위해 그의 입력을 다운 샘플링시키는 풀링 함수를 적용할 수 있다. 예컨대, 풀링 계층은 20×20 이미지를 10×10 이미지로 다운 샘플링시킬 수 있다. 풀링 함수의 비-제한적인 예들은 최대 풀링, 평균 풀링, 또는 최소 풀링을 포함한다.
[0065] 시간 포인트 t에서, 회귀 계층은 숨겨진 상태 s(t)를 컴퓨팅할 수 있으며, 회귀 연결은 시간 t에서의 숨겨진 상태 s(t)를 후속 시간 포인트 t+1에서의 입력으로서 회귀 계층에 제공할 수 있다. 회귀 계층은 시간 t에서의 숨겨진 상태 s(t)에 기반하여 시간 t+1에서의 그의 출력을 컴퓨팅할 수 있다. 예컨대, 회귀 계층은 시간 t+1에서의 그의 출력을 컴퓨팅하기 위해 시간 t에서의 숨겨진 상태 s(t)에 소프트싸인 함수를 적용할 수 있다. 시간 t+1에서의 회귀 계층의 숨겨진 상태는 시간 t에서의 회귀 계층의 숨겨진 상태 s(t)를 그의 입력으로서 갖는다. 회귀 계층은, 예컨대 ReLU 함수를 그의 입력에 적용함으로써 숨겨진 상태 s(t+1)를 컴퓨팅할 수 있다. 인셉션-형 계층은 정규화 계층, 콘볼루셔널 계층, 소프트싸인 계층, 정류된 선형 계층, 이를테면 ReLU 계층 및 PReLU 계층, 연접 계층, 풀링 계층, 또는 이들의 임의의 조합 중 하나 이상을 포함할 수 있다.
[0066] NN 내의 계층들의 수는 상이한 구현들에서 상이할 수 있다. 예컨대, DNN 내의 계층들의 수는 50, 100, 200, 또는 그 초과일 수 있다. 딥 뉴럴 네트워크 계층의 입력 타입은 상이한 구현들에서 상이할 수 있다. 예컨대, 계층은 다수의 계층들의 출력들을 그의 입력으로서 수신할 수 있다. 계층의 입력은 5개의 계층들의 출력들을 포함할 수 있다. 다른 예로서, 계층의 입력은 NN의 계층들 중 1%를 포함할 수 있다. 계층의 출력은 다수의 계층들의 입력들일 수 있다. 예컨대, 계층의 출력은 5개의 계층들의 입력들로서 사용될 수 있다. 다른 예로서, 계층의 출력은 NN의 계층들의 1%의 입력들로서 사용될 수 있다.
[0067] 계층의 입력 사이즈 또는 출력 사이즈는 상당히 클 수 있다. 계층의 입력 사이즈 또는 출력 사이즈는 n×m일 수 있으며, 여기서 n은 폭을 나타내고, m은 입력 또는 출력의 높이를 나타낸다. 예컨대, n 또는 m은 11, 21, 31, 또는 그 초과일 수 있다. 계층의 입력 또는 출력의 채널 사이즈들은 상이한 구현들에서 상이할 수 있다. 예컨대, 계층의 입력 또는 출력의 채널 사이즈는 4, 16, 32, 64, 128, 또는 그 초과일 수 있다. 계층의 커널 사이즈는 상이한 구현들에서 상이할 수 있다. 예컨대, 커널 사이즈는 n×m일 수 있으며, 여기서 n은 폭을 나타내고, m은 커널의 높이를 나타낸다. 예컨대, n 또는 m은 5, 7, 9, 또는 그 초과일 수 있다. 계층의 스트라이드 사이즈는 상이한 구현들에서 상이할 수 있다. 예컨대, 딥 뉴럴 네트워크 계층의 스트라이드 사이즈는 3, 5, 7 또는 그 초과일 수 있다.
[0068] 일부 실시예들에서, NN은 NN의 출력을 함께 컴퓨팅하는 복수의 NN들을 지칭할 수 있다. 복수의 NN들 중 상이한 NN들은 상이한 태스크들에 대해 트레이닝될 수 있다. 예컨대, 복수의 NN들 중 상이한 NN들은 유사한 타입들의 가상 UI 디바이스들 및 포인터들에 대한 상이한 UI 이벤트들(예컨대, 가상 UI 디바이스들을 활성화시키는 상이한 타입들, 이를테면 터치 또는 포인팅)의 발생들을 결정하기 위해 트레이닝될 수 있다. 다른 예로서, 복수의 NN들 중 상이한 NN들은 유사한 타입들의 가상 UI 디바이스들 및 상이한 포인터들(예컨대, 스타일러스 또는 손가락 끝)에 대한 유사한 UI 이벤트들의 발생들을 결정하기 위해 트레이닝될 수 있다. 추가적인 예로서, 복수의 NN들 중 상이한 NN들은 상이한 타입들의 가상 UI 디바이스들(예컨대, 버튼 또는 슬라이더) 및 포인터들에 대한 유사한 UI 이벤트들의 발생들을 결정하기 위해 트레이닝될 수 있다. 프로세서(예컨대, 도 9의 로컬 데이터 프로세싱 모듈(924)의 프로세서)는 NN의 출력을 결정하기 위해 복수의 NN들 중 NN들의 출력들을 컴퓨팅할 수 있다. 예컨대, 복수의 NN들 중 일 NN의 출력은 가능성 스코어를 포함할 수 있다. 프로세서는, 복수의 NN들 중 상이한 NN들의 출력들의 가능성 스코어에 기반하여, 복수의 NN들을 포함하는 NN의 출력을 결정할 수 있다.
예시적인 뉴럴 네트워크 트레이닝 방법
[0069] 도 6은 사용자 인터페이스 디바이스의 표현을 사용하여 사용자 인터페이스 이벤트를 결정하기 위해 머신 러닝 모델(예컨대, 뉴럴 네트워크)을 트레이닝시키는 예시적인 방법(600)의 흐름도를 도시한다. 블록(604)에서, 포인터의 이미지가 수신될 수 있다. 이미지는 이미지 내의 이미지 위치에서 가상 사용자 인터페이스(UI) 디바이스(예컨대, 가상 버튼)와 연관될 수 있다. 이미지는 UI 디바이스 및 포인터에 대한 UI 이벤트(예컨대, 버튼이 눌려졌음)와 연관될 수 있다.
[0070] UI 이벤트는 가상 UI 디바이스의 복수의 상태들 중 일 상태에 대응할 수 있다. 복수의 상태들은 가상 UI 디바이스의 활성화 또는 비-활성화, 이를테면 터치하는 것, 누르는 것, 해제하는 것, 업/다운 또는 좌측/우측으로 슬라이딩하는 것, 궤적을 따라 이동하는 것, 또는 다른 타입들의 움직임들을 포함한다. UI 디바이스는 버튼, 업다운, 스피너, 피커, 라디오 버튼, 라디오 버튼 리스트, 체크박스, 사진 박스, 체크박스 리스트, 드롭다운 리스트, 드롭다운 메뉴, 선택 리스트, 리스트 박스, 콤보 박스, 텍스트박스, 슬라이더, 링크, 키보드 키, 스위치, 슬라이더, 터치 표면, 또는 이들의 조합일 수 있다. UI 포인터는 사용자 또는 사용자의 일부와 연관된 물체, 이를테면 포인터, 펜, 펜슬, 마커, 하이라이터(highlighter), 사용자의 손가락, 또는 이들의 조합일 수 있다.
[0071] 블록(608)에서, 가상 UI 디바이스의 표현은 트레이닝 이미지를 생성하기 위해 이미지 위치에서 이미지 상으로 렌더링될 수 있다. 가상 UI 디바이스의 이러한 표현은 사용자에게 나타나는 UI 디바이스의 표현과 상이할 수 있다(예컨대, 스타일링된 버튼). 일부 경우들에서, 표현은 본 명세서에 설명된 바와 같은 표준 표현이다. 이미지 상으로 렌더링된 가상 UI 디바이스의 표현은 높은 콘트라스트들의 복수의 형상들을 포함할 수 있다. 일부 실시예들에서, 높은 콘트라스트들의 복수의 형상들은 높은 콘트라스트의 복수의 동심 형상들을 포함한다. 대안적으로 또는 부가적으로, 복수의 형상들의 형상 무게 중심들(centers of gravity of shapes)은 서로 임계 거리 내에 있을 수 있다. 임계 거리는 복수의 형상들 중 일 형상의 사이즈의 0, 1, 2, 5, 10, 또는 그 초과의 픽셀들 또는 퍼센티지(예컨대, 0%, 0.1%, 1%, 2% 또는 그 초과)에 기반할 수 있다.
[0072] 일부 실시예들에서, 복수의 형상들은 서로 인접한 제1 형상 및 제2 형상을 포함할 수 있다. 예컨대, 제1 형상은 제2 형상 내에 또는 그 외부에 존재할 수 있다. 복수의 형상들 중 제1 형상은 제1 컬러(예컨대, 흑색 또는 어두운 컬러)와 연관될 수 있다. 복수의 형상들 중 제2 형상은 제2 컬러(예컨대, 백색 또는 밝은 컬러)와 연관될 수 있다. 제2 형상은 부분적으로 투명할 수 있다. 예컨대, 제2 형상은 제1 구역 및 제2 구역을 포함할 수 있다. 제2 형상의 제2 구역은 제2 형상의 제1 구역으로부터 더 멀리 떨어져 있을 수 있다. 제2 형상의 제1 구역은 제1 투명도 값(예컨대, 알파 투명도 값)과 연관될 수 있다. 제2 형상의 제2 구역은 제2 투명도 값과 연관된다. 제2 투명도 값은 제1 투명도 값보다 작을 수 있다. 예컨대, 제1 구역보다 더 멀리 떨어진 제2 구역은 더 큰 투명도 값을 가질 수 있으며, 더 투명하다. 높은 콘트라스트의 복수의 형상들은 제3 컬러(예컨대, 백색 또는 밝은 컬러)를 갖는 제3 형상을 포함할 수 있다. 제3 형상은 제1 형상에 인접할 수 있다. 예컨대, 제3 형상은 제1 형상 내에 또는 그 외부에 존재할 수 있다.
[0073] 블록(612)에서, 입력 데이터 및 대응하는 타겟 출력 데이터를 포함하는 트레이닝 세트가 생성될 수 있다. 입력 데이터는 트레이닝 이미지를 포함할 수 있다. 타겟 출력 데이터는 UI 이벤트를 포함할 수 있다. 일부 실시예들에서, 트레이닝 세트는 스테레오스코픽 이미지들의 쌍들 또는 멀티스코픽 이미지들의 세트들을 포함할 수 있다. 예컨대, 가상 UI 디바이스의 제1 표현은 스테레오스코픽 이미지들의 쌍의 제1 이미지 상에 렌더링될 수 있다. 가상 UI 디바이스의 제2 표현은 스테레오스코픽 이미지들의 쌍의 제2 이미지 상에 렌더링될 수 있다. 2개의 표현들은 상이하거나 동일할 수 있거나, 또는 상이한 사이즈들을 가질 수 있다.
[0074] 블록(616)에서, 뉴럴 네트워크(NN)는 UI 이벤트를 결정하기 위해, 트레이닝 세트를 사용하여 트레이닝될 수 있다. 트레이닝 세트는 NN을 트레이닝시키기 위한 UI 디바이스들의 표현들을 갖는, 모노스코픽 이미지들, 스테레오스코픽 이미지들의 쌍들, 또는 멀티스코픽 이미지들의 세트들을 포함할 수 있다. NN을 트레이닝시키는 프로세스는 트레이닝 세트의 입력 데이터 및 대응하는 타겟 출력 데이터 둘 모두를 이용하여 네트워크를 제시하는 것을 수반한다. 트레이닝시키는 프로세스를 통해, 네트워크의 가중치들은, 트레이닝 세트로부터의 특정한 입력 데이터가 주어지면, 네트워크의 출력이 그 특정한 입력 데이터에 대응하는 타겟 출력과 (예컨대, 가능한 근접하게) 매칭하게 되도록 증분적으로 또는 반복적으로 적응될 수 있다.
사용자 인터페이스 이벤트 결정의 예시적인 방법
[0075] 도 7은 사용자 인터페이스 디바이스의 표현을 사용하여 사용자 인터페이스 이벤트를 결정하기 위해 머신 러닝 모델(예컨대, 뉴럴 네트워크)을 사용하는 예시적인 방법의 흐름도를 도시한다. 사용자 디바이스, 이를테면 머리장착가능 또는 웨어러블 ARD 또는 디스플레이 시스템이 방법(700)을 구현할 수 있다. 블록(704)에서, ARD는 트레이닝 이미지를 포함하는 트레이닝 세트를 사용하여 트레이닝된 뉴럴 네트워크(NN)를 수신할 수 있다. 트레이닝 이미지는 포인터 및 가상 UI 디바이스의 표현을 포함할 수 있다. 트레이닝 이미지는 가상 UI 디바이스 및 포인터에 대한 UI 이벤트와 연관될 수 있다. 예컨대, NN은 방법(600)을 사용하여 트레이닝된 NN일 수 있다.
[0076] 블록(708)에서, ARD는 포인터의 이미지를 수신할 수 있다. 이미지는 이미지 위치에서 가상 UI 디바이스와 연관된다. 예컨대, 가상 디바이스가 ARD에 의해 사용자에게 디스플레이되는 경우 ARD의 전향 이미징 시스템에 의해 이미지가 캡처될 수 있다. UI 디바이스는 버튼, 업다운, 스피너, 피커, 라디오 버튼, 라디오 버튼 리스트, 체크박스, 사진 박스, 체크박스 리스트, 드롭다운 리스트, 드롭다운 메뉴, 선택 리스트, 리스트 박스, 콤보 박스, 텍스트박스, 슬라이더, 링크, 키보드 키, 스위치, 슬라이더, 터치 표면, 또는 이들의 조합일 수 있다. UI 포인터는 사용자 또는 사용자의 일부와 연관된 물체, 이를테면 포인터, 펜, 펜슬, 마커, 하이라이터, 사용자의 손가락, 또는 이들의 조합일 수 있다.
[0077] 블록(712)에서, ARD는 가상 UI 디바이스와 연관된 이미지 위치에서 이미지 상으로 가상 UI 디바이스의 표현을 렌더링할 수 있다. 방법(600)을 참조하여 상세히 설명된 바와 같이, 가상 UI 디바이스의 표현은 트레이닝 이미지를 생성하기 위해 이미지 위치에서 이미지 상으로 렌더링될 수 있다. 가상 UI 디바이스의 표현은 높은 콘트라스트들의 복수의 형상들을 포함할 수 있다. 일부 실시예들에서, 높은 콘트라스트들의 복수의 형상들은 높은 콘트라스트의 복수의 동심 형상들을 포함한다. 대안적으로 또는 부가적으로, 복수의 형상들의 형상 무게 중심들은 서로 임계 거리 내에 있을 수 있다. 일부 실시예들에서, 복수의 형상들은 상이한 컬러들(예컨대, 흑색, 어두운 컬러, 백색, 또는 밝은 컬러)의 인접한 형상들을 포함할 수 있다. 블록(712)에서 ARD에 의해 렌더링된 가상 UI 디바이스의 표현은 트레이닝 이미지를 생성하기 위해 블록(608)에서 렌더링된 UI 디바이스의 표현과 유사하거나 동일할 수 있다.
[0078] 블록(716)에서, ARD는 이미지 내의 포인터 및 이미지와 연관된 가상 UI 디바이스에 대한 UI 이벤트를 NN을 사용하여 결정할 수 있다. UI 이벤트는 가상 UI 디바이스의 복수의 상태들 중 일 상태에 대응할 수 있다. 복수의 상태들은 가상 UI 디바이스의 활성화 또는 비-활성화, 이를테면 터치하는 것, 누르는 것, 해제하는 것, 업/다운 또는 좌측/우측으로 슬라이딩하는 것, 궤적을 따라 이동하는 것, 또는 다른 타입들의 움직임들을 포함한다. 선택적으로, ARD는 결정된 UI 이벤트에 기반하여 가상 콘텐츠, 가상 이미지 정보, 또는 그의 수정된 버전을 생성하고, 가상 콘텐츠가 ARD의 디스플레이를 통해 ARD의 착용자에게 제공되게 할 수 있다. 부가적으로 또는 대안적으로, ARD는 UI 이벤트에 기반하여 액션을 수행할 수 있다. 예컨대, ARD는 도 1을 참조하여 설명된 TV(104)가 턴 온되게 할 수 있다. UI 이벤트들에 기반하여 가상 콘텐츠를 생성하거나 액션들을 수행하는 설명들은, 발명의 명칭이 "VIRTUAL USER INPUT CONTROLS IN A MIXED REALITY ENVIRONMENT"으로 2017년 12월 1일자로 출원된 미국 특허 출원 제 15/829,249호에서 제공되며, 이로써 그 출원의 내용은 그 전체가 인용에 의해 본 명세서에 포함된다.
예시적인 증강 현실 시나리오
[0079] 현대 컴퓨팅 및 디스플레이 기술들은 소위 "가상 현실" 또는 "증강 현실" 경험들을 위한 시스템들의 개발을 가능하게 했으며, 여기서 디지털적으로 재생된 이미지들 또는 그들의 일부들은, 그들이 실제인 것으로 보이거나, 실제로서 지각될 수 있는 방식으로 사용자에게 제시된다. 가상 현실("VR") 시나리오는 통상적으로 다른 실제 실세계 시각 입력에 대한 투명도 없이 디지털 또는 가상 이미지 정보의 프리젠테이션을 수반하고; 증강 현실("AR") 시나리오는 통상적으로 사용자 주변의 실제 세계의 시각화에 대한 증강으로서 디지털 또는 가상 이미지 정보의 프리젠테이션을 수반하거나; 또는 혼합 현실("MR") 시나리오는, 실제 및 가상 세계들을 병합하여 물리적 및 가상 물체들이 공존하고 실시간으로 상호작용하는 새로운 환경을 생성하는 것을 통상적으로 수반한다. 밝혀진 바와 같이, 인간의 시각 지각 시스템은 매우 복잡하며, 다른 가상 또는 실세계 이미저리 엘리먼트들 사이에서 가상 이미지 엘리먼트들의 편안하고, 자연스러운 느낌의 풍부한 프리젠테이션을 가능하게 하는 VR, AR 또는 MR 기술을 생성하는 것은 난제이다. 본 명세서에 개시된 시스템들 및 방법들은 VR, AR 및 MR 기술에 관련된 다양한 난제들을 처리한다.
[0080] 도 8은 특정한 가상 현실 물체들, 및 사람에 의해 보여지는 특정한 실제 현실 물체들을 갖는 증강 현실 시나리오의 예시를 묘사한다. 도 8은 증강 현실 장면(800)을 묘사하며, 여기서 AR 기술의 사용자는 배경에 있는 사람들, 나무들, 빌딩들, 및 콘크리트 플랫폼(820)을 특징으로 하는 실세계 공원형 장소(810)를 본다. 이들 아이템들에 부가하여, AR 기술의 사용자는 또한, 그가 로봇 동상(830)이 실세계 플랫폼(820) 상에 서 있고, 만화형 아바타 캐릭터(840)(예컨대, 호박벌)가 날고 있는 것(이는 호박벌의 의인화인 것으로 보여짐)을 본다고 지각하더라도, 이들 엘리먼트들은 실세계에 존재하지 않는다.
[0081] 3차원(3D) 디스플레이가 실제 깊이감 및 더 구체적으로는, 시뮬레이팅된 표면 깊이감을 생성하기 위해, 디스플레이의 시계(visual field) 내의 각각의 포인트가 그의 가상 깊이에 대응하는 원근조절 응답을 생성하는 것이 바람직하다. 디스플레이 포인트에 대한 원근조절 응답이 수렴 및 입체시(stereopsis)의 양안 깊이 큐들에 의해 결정된 바와 같은 그 포인트의 가상 깊이에 대응하지 않으면, 인간의 눈은 원근조절 충돌을 경험할 수 있어서, 불안정한 이미징, 유해한 눈의 피로, 두통들, 그리고 원근조절 정보의 부재 시에, 표면 깊이의 거의 완벽한 결여를 초래한다.
[0082] VR, AR 및 MR 경험들은, 복수의 깊이 평면들에 대응하는 이미지들이 뷰어에게 제공되는 디스플레이들을 갖는 디스플레이 시스템들에 의해 제공될 수 있다. 이미지들은 각각의 깊이 평면마다 상이할 수 있고(예컨대, 장면 또는 물체의 약간 상이한 프리젠테이션들을 제공함) 뷰어의 눈들에 의해 별개로 초점이 맞춰질 수 있으며, 그에 의해, 상이한 깊이 평면 상에 위치되는 장면에 대한 상이한 이미지 특징들에 초점을 맞춰지도록 요구되는 눈의 원근조절에 기반하여 그리고/또는 상이한 깊이 평면들 상의 상이한 이미지 특징들이 초점에서 벗어나는 것을 관찰하는 것에 기반하여 깊이 큐들을 사용자에게 제공하는 것을 돕는다. 본 명세서의 다른 곳에서 논의된 바와 같이, 그러한 깊이 큐들은 깊이의 신뢰할 수 있는 지각들을 제공한다. VR, AR, 및 MR 경험들을 생성 또는 향상시키기 위해, 디스플레이 시스템들은 이들 경험들을 향상시키도록 생체인식 정보를 사용할 수 있다.
예시적인 웨어러블 디스플레이 시스템
[0083] 도 9는 디스플레이 시스템 착용자 또는 뷰어(904)에 VR, AR, 또는 MR 경험을 제시하는 데 사용될 수 있는 웨어러블 디스플레이 시스템(900)의 일 예를 예시한다. 웨어러블 디스플레이 시스템(900)은 본 명세서에 설명된 애플리케이션들 또는 실시예들 중 임의의 것을 수행하도록 프로그래밍될 수 있다. 디스플레이 시스템(900)은 디스플레이(908), 및 디스플레이(908)의 기능을 지원하기 위한 다양한 기계 및 전자 모듈들 및 시스템들을 포함한다. 디스플레이(908)는, 디스플레이 시스템 사용자, 착용자, 또는 뷰어(904)에 의해 착용가능하고, 착용자(904)의 눈들 앞에 디스플레이(908)를 포지셔닝하도록 구성되는 프레임(912)에 커플링될 수 있다. 디스플레이(908)는 광 필드 디스플레이일 수 있다. 일부 실시예들에서, 스피커(916)는 프레임(912)에 커플링되고, 사용자의 외이도에 인접하게 포지셔닝된다. 일부 실시예들에서, 도시되지 않은 다른 스피커가 스테레오/성형가능 사운드 콘트롤을 제공하기 위해 사용자의 다른 외이도에 인접하게 포지셔닝된다. 디스플레이(908)는 이를테면, 유선 리드 또는 무선 연결에 의해, 다양한 구성들로 장착될 수 있는, 이를테면, 프레임(912)에 고정적으로 부착되거나, 사용자에 의해 착용된 헬멧 또는 모자에 고정적으로 부착되거나, 헤드폰들에 임베딩되거나, 또는 그렇지 않으면 사용자(904)에게 제거가능하게 부착되는 (예컨대, 백팩-스타일 구성으로, 벨트-커플링 스타일 구성으로) 로컬 데이터 프로세싱 모듈(924)에 동작가능하게 커플링(920)된다.
[0084] 프레임(912)은 착용자의 눈(들)의 이미지들을 획득하기 위해 프레임(912)에 부착되거나 장착된 하나 이상의 카메라들을 가질 수 있다. 일 실시예에서, 카메라(들)는, 눈이 직접 이미징될 수 있도록 착용자의 눈 앞에서 프레임(912)에 장착될 수 있다. 다른 실시예들에서, 카메라는 프레임(912)의 줄기(stem)를 따라(예컨대, 착용자의 귀 인근에) 장착될 수 있다. 그러한 실시예들에서, 디스플레이(908)는 착용자의 눈으로부터 다시 카메라를 향해 광을 반사시키는 재료로 코팅될 수 있다. 광은, 홍채 피처들이 적외선 이미지들에서 두드러지기 때문에 적외선 광일 수 있다.
[0085] 로컬 프로세싱 및 데이터 모듈(924)은 하드웨어 프로세서 뿐만 아니라 비-일시적인 디지털 메모리, 이를테면 비-휘발성 메모리(예컨대, 플래시 메모리)를 포함할 수 있으며, 이들 둘 모두는 데이터의 프로세싱, 캐싱, 및 저장을 보조하기 위해 활용될 수 있다. 데이터는, (a) (예컨대, 프레임(912)에 동작가능하게 커플링되거나 또는 그렇지 않으면 사용자(904)에게 부착될 수 있는) 센서들, 이를테면 이미지 캡처 디바이스들(이를테면, 카메라들), 마이크로폰들, 관성 측정 유닛들, 가속도계들, 컴퍼스들, GPS 유닛들, 라디오 디바이스들, 및/또는 자이로들로부터 캡처되고; 그리고/또는 (b) 원격 프로세싱 모듈(928) 및/또는 원격 데이터 저장소(932)를 사용하여 획득 및/또는 프로세싱되는 (가능하게는, 그러한 프로세싱 또는 리트리벌 이후 디스플레이(908)로의 전달을 위한) 데이터를 포함할 수 있다. 로컬 프로세싱 및 데이터 모듈(924)은 통신 링크들(936 및/또는 940)에 의해, 이를테면, 유선 또는 무선 통신 링크들을 통해 원격 프로세싱 모듈(928) 및 원격 데이터 저장소(932)에 동작가능하게 커플링될 수 있어서, 이들 원격 모듈들(928, 932)은 로컬 프로세싱 및 데이터 모듈(924)에 대한 자원들로서 이용가능하다. 이미지 캡처 디바이스(들)는 눈 이미지 프로세싱 절차들에서 사용되는 눈 이미지들을 캡처하는 데 사용될 수 있다. 부가적으로, 원격 프로세싱 모듈(928) 및 원격 데이터 저장소(932)는 서로 동작가능하게 커플링될 수 있다.
[0086] 일부 실시예들에서, 원격 프로세싱 모듈(928)은 데이터 및/또는 이미지 정보, 이를테면 이미지 캡처 디바이스에 의해 캡처된 비디오 정보를 분석 및 프로세싱하도록 구성된 하나 이상의 프로세서들을 포함할 수 있다. 비디오 데이터는 로컬 프로세싱 및 데이터 모듈(924) 및/또는 원격 데이터 저장소(932)에 로컬로 저장될 수 있다. 일부 실시예들에서, 원격 데이터 저장소(932)는, 인터넷, 또는 "클라우드" 자원 구성의 다른 네트워킹 구성을 통해 이용가능할 수 있는 디지털 데이터 저장 설비를 포함할 수 있다. 일부 실시예들에서, 로컬 프로세싱 및 데이터 모듈(924)에서 모든 데이터가 저장되고, 모든 컴퓨테이션들이 수행되어, 원격 모듈로부터의 완전히 자율적인 사용을 허용한다.
[0087] 일부 구현들에서, 로컬 프로세싱 및 데이터 모듈(924) 및/또는 원격 프로세싱 모듈(928)은 본 명세서에 설명된 바와 같은 시스템들 및 방법들의 실시예들을 수행하도록 프로그래밍된다. 이미지 캡처 디바이스는 특정한 애플리케이션에 대한 비디오(예컨대, 눈-추적 애플리케이션에 대한 착용자의 눈의 비디오 또는 제스처 식별 애플리케이션에 대한 착용자의 손 또는 손가락의 비디오)를 캡처할 수 있다. 비디오는 프로세싱 모듈들(924, 928) 중 하나 또는 둘 모두에 의해 분석될 수 있다. 일부 경우들에서, 홍채 코드 생성의 적어도 일부를 (예컨대, "클라우드" 내의) 원격 프로세싱 모듈에 오프로딩하는 것은 컴퓨테이션들의 효율 또는 속도를 개선시킬 수 있다. 본 명세서에 개시된 시스템들 및 방법들의 파라미터들은 데이터 모듈들(924 및/또는 928)에 저장될 수 있다.
[0088] 분석의 결과들은 부가적인 동작들 또는 프로세싱을 위해 프로세싱 모듈들(924, 928) 중 하나 또는 둘 모두에 의해 사용될 수 있다. 예컨대, 다양한 애플리케이션들에서, 생체인식 식별, 눈-추적, 인식, 또는 제스처들, 물체들, 포즈들의 분류 등이 웨어러블 디스플레이 시스템(900)에 의해 사용될 수 있다. 예컨대, 웨어러블 디스플레이 시스템(900)은 착용자(904)의 손의 캡처된 비디오를 분석하고, 착용자의 손(예컨대, 실제 또는 가상 물체를 집어 드는 것, 찬성 또는 반대를 시그널링하는 것(예컨대, "엄지 올리기" 또는 "엄지 내리기") 등) 및 웨어러블 디스플레이 시스템에 의해 제스처를 인식할 수 있다.
[0089] 일부 실시예들에서, 로컬 프로세싱 모듈(924), 원격 프로세싱 모듈(928), 및 클라우드 상의 시스템은 본 명세서에 개시된 방법들 중 일부 또는 전부를 수행할 수 있다. 예컨대, 원격 프로세싱 모듈(928) 또는 클라우드 상의 시스템은, 포인터(예컨대, 스타일러스)의 이미지 상으로 가상 사용자 인터페이스(UI) 디바이스(예컨대, 버튼)의 표현을 렌더링하고, UI 이벤트를 결정하기 위해 뉴럴 네트워크(NN)를 트레이닝시키도록 가상 UI 디바이스의 표현을 갖는 이미지를 사용하도록 도 6을 참조하여 위에서 설명된 방법(600)을 수행할 수 있다. 다른 예로서, 로컬 프로세싱 모듈(924)은 도 7을 참조하여 위에서 설명된 방법(700)을 수행할 수 있다. 로컬 프로세싱 모듈(924)은 원격 프로세싱 모듈(928) 또는 클라우드 상의 시스템으로부터 NN을 수신할 수 있다. 로컬 프로세싱 모듈(924)은 이미지 내의 포인터 및 이미지와 연관된 가상 UI 디바이스에 대한 UI 이벤트를 결정하기 위해 NN을 사용할 수 있다.
[0090] 인간 시각 시스템은 복잡하고, 깊이의 현실적 지각을 제공하는 것은 난제이다. 이론에 의해 제한되지 않으면서, 물체의 뷰어들이 이접운동과 원근조절의 조합으로 인해 물체를 3차원인 것으로 지각할 수 있다고 여겨진다. 서로에 대해 2개의 눈들의 이접운동 움직임들(예컨대, 물체를 응시하기 위해 눈들의 시선들을 수렴시키기 위해 서로를 향한 또는 서로부터 떨어진 동공들의 롤링 움직임들)은 눈들의 렌즈들의 초점맞춤(또는 "원근조절")과 밀접하게 연관된다. 정상 상태들 하에서, 하나의 물체로부터 상이한 거리의 다른 물체로 초점을 변경시키기 위해, 눈들의 렌즈들의 초점을 변경시키거나, 또는 눈들을 원근조절하는 것은, "원근조절-이접운동 반사작용"으로 알려진 관계 하에서, 동일한 거리에 대한 이접운동에서 매칭 변화를 자동으로 야기할 것이다. 마찬가지로, 이접운동의 변화는, 정상 상태들 하에서, 원근조절의 매칭 변화를 트리거링할 것이다. 원근조절과 이접운동 사이의 더 양호한 매치를 제공하는 디스플레이 시스템들은 3차원 이미저리의 더 현실적이거나 편안한 시뮬레이션들을 형성할 수 있다.
[0091] 도 10은 다수의 깊이 평면들을 사용하여 3차원 이미저리를 시뮬레이팅하기 위한 접근법의 양상들을 예시한다. 도 10을 참조하면, z-축 상에서 눈들(1002 및 1004)로부터 다양한 거리들에 있는 물체들은, 이들 물체들이 초점을 맞추도록 눈들(1002 및 1004)에 의해 원근조절된다. 눈들(1002 및 1004)은 z-축을 따라 상이한 거리들에 있는 물체들에 초점을 맞추게 하기 위한 특정한 원근조절된 상태들을 취한다. 결과적으로, 특정한 원근조절된 상태는 연관된 초점 거리를 갖는, 깊이 평면들(1006) 중 특정한 하나의 깊이 평면과 연관되는 것으로 말해질 수 있어서, 특정한 깊이 평면 내의 물체들 또는 물체들의 부분들은, 눈이 그 깊이 평면에 대해 원근조절된 상태에 있을 경우 초점을 맞추게 된다. 일부 실시예들에서, 3차원 이미저리는 눈들(1002 및 1004) 각각에 대해 이미지의 상이한 프리젠테이션들을 제공함으로써, 그리고 또한 깊이 평면들 각각에 대응하는 이미지의 상이한 프리젠테이션들을 제공함으로써 시뮬레이팅될 수 있다. 예시의 명확성을 위해 별개인 것으로 도시되지만, 눈들(1002 및 1004)의 시야들이 예컨대, z-축을 따른 거리가 증가함에 따라 중첩될 수 있다는 것이 인지될 것이다. 부가적으로, 예시의 용이함을 위해 평탄한 것으로 도시되지만, 깊이 평면의 윤곽들이 물리적 공간에서 만곡될 수 있어서, 깊이 평면의 모든 피처들이 특정한 원근조절된 상태에서 눈과 초점을 맞춘다는 것이 인지될 것이다. 이론에 의해 제한되지 않으면서, 인간 눈이 통상적으로 깊이 지각을 제공하기 위해 유한한 수의 깊이 평면들을 해석할 수 있다고 여겨진다. 결과적으로, 지각된 깊이의 매우 믿을 수 있는 시뮬레이션은, 이들 제한된 수의 깊이 평면들 각각에 대응하는 이미지의 상이한 프리젠테이션들을 눈에 제공함으로써 달성될 수 있다.
예시적인 도파관 스택 어셈블리
[0092] 도 11은 이미지 정보를 사용자에게 출력하기 위한 도파관 스택의 일 예를 예시한다. 디스플레이 시스템(1100)은 복수의 도파관들(1120, 1122, 1124, 1126, 1128)을 사용하여 3차원 지각을 눈(1110) 또는 뇌에 제공하기 위해 활용될 수 있는 도파관들의 스택, 또는 스택된 도파관 어셈블리(1105)를 포함한다. 일부 실시예들에서, 디스플레이 시스템(1100)은 도 9의 시스템(900)에 대응할 수 있으며, 도 11은 그 시스템(900)의 일부 부분들을 더 상세히 개략적으로 도시한다. 예컨대, 일부 실시예들에서, 도파관 어셈블리(1105)는 도 9의 디스플레이(908)에 통합될 수 있다.
[0093] 도 11을 계속 참조하면, 도파관 어셈블리(1105)는 또한 도파관들 사이에 복수의 피처들(1130, 1132, 1134, 1136)을 포함할 수 있다. 일부 실시예들에서, 피처들(1130, 1132, 1134, 1136)은 렌즈들일 수 있다. 일부 실시예들에서, 피처들(1130, 1132, 1134, 1136)은 렌즈들이 아닐 수 있다. 오히려, 이들은 스페이서들(예컨대, 공기 갭들을 형성하기 위한 클래딩 층들 및/또는 구조들)일 수 있다.
[0094] 도파관들(1120, 1122, 1124, 1126, 1128) 및/또는 복수의 렌즈들(1130, 1132, 1134, 1136)은 다양한 레벨들의 파면 곡률 또는 광선 발산으로 이미지 정보를 눈에 전송하도록 구성될 수 있다. 각각의 도파관 레벨은 특정한 깊이 평면과 연관될 수 있고, 그 깊이 평면에 대응하는 이미지 정보를 출력하도록 구성될 수 있다. 이미지 주입 디바이스들(1140, 1142, 1144, 1146, 1148)은 이미지 정보를 도파관들(1120, 1122, 1124, 1126, 1128)에 주입하기 위해 활용될 수 있으며, 이 도파관들 각각은 눈(1110)을 향한 출력을 위해, 각각의 개개의 도파관을 가로질러 인입 광을 분배하도록 구성될 수 있다. 광은 이미지 주입 디바이스들(1140, 1142, 1144, 1146, 1148)의 출력 표면을 빠져나가 도파관들(1120, 1122, 1124, 1126, 1128)의 대응하는 입력 에지로 주입된다. 일부 실시예들에서, 광의 단일 빔(예컨대, 시준된 빔)은 특정한 도파관과 연관된 깊이 평면에 대응하는 특정한 각도들(및 발산의 양들)로 눈(1110)을 향해 지향되는 시준된 클론 빔(cloned collimated beam)들의 전체 필드를 출력하기 위해 각각의 도파관으로 주입될 수 있다.
[0095] 일부 실시예들에서, 이미지 주입 디바이스들(1140, 1142, 1144, 1146, 1148)은 각각, 대응하는 도파관(1120, 1122, 1124, 1126, 1128)으로의 주입을 위한 이미지 정보를 각각 생성하는 별개의 디스플레이들이다. 일부 다른 실시예들에서, 이미지 주입 디바이스들(1140, 1142, 1146, 1146, 1148)은, 예컨대 이미지 정보를 하나 이상의 광학 도관들(예컨대, 광섬유 케이블들)을 통해 이미지 주입 디바이스들(1140, 1142, 1144, 1146, 1148) 각각에 파이핑(pipe)할 수 있는 단일 멀티플렉싱된 디스플레이의 출력 단부들이다.
[0096] 제어기(1150)는 스택된 도파관 어셈블리(1105) 및 이미지 주입 디바이스들(1140, 1142, 1144, 1146, 1148)의 동작을 제어한다. 일부 실시예들에서, 제어기(1150)는 도파관들(1120, 1122, 1124, 1126, 1128)에 대한 이미지 정보의 타이밍 및 프로비전(provision)을 조절하는 프로그래밍(예컨대, 비-일시적인 컴퓨터-판독가능한 매체 내의 명령들)을 포함한다. 일부 실시예들에서, 제어기(1150)는 단일 통합 디바이스, 또는 유선 또는 무선 통신 채널들에 의해 연결되는 분산형 시스템일 수 있다. 일부 실시예들에서, 제어기(1150)는 프로세싱 모듈들(924 또는 928)(도 9에 예시됨)의 부분일 수 있다. 일부 실시예들에서, 제어기는 내향 이미징 시스템(1152)(예컨대, 디지털 카메라), 외향 이미징 시스템(1154)(예컨대, 디지털 카메라), 및/또는 사용자 입력 디바이스(116)와 통신할 수 있다. 내향 이미징 시스템(1152)(예컨대, 디지털 카메라)은, 예컨대 눈(1110)의 동공의 사이즈 및/또는 배향을 결정하기 위해 눈(1110)의 이미지들을 캡처하는 데 사용될 수 있다. 외향 이미징 시스템(1154)은 세계(1158)의 일부를 이미징하는 데 사용될 수 있다. 사용자는 디스플레이 시스템(1100)과 상호작용하도록 사용자 입력 디바이스(1166)를 통해 커맨드들을 제어기(1150)에 입력할 수 있다.
[0097] 도파관들(1120, 1122, 1124, 1126, 1128)은 내부 전반사(TIR)에 의해 각각의 개개의 도파관 내에서 광을 전파시키도록 구성될 수 있다. 도파관들(1120, 1122, 1124, 1126, 1128)은 각각 평면형이거나 다른 형상(예컨대, 곡선)을 가질 수 있으며, 주 상단 및 하단 표면들 및 이들 주 상단 및 하단 표면들 사이에서 연장되는 에지들을 갖는다. 예시된 구성에서, 도파관들(1120, 1122, 1124, 1126, 1128)은, 이미지 정보를 눈(1110)에 출력하기 위해 각각의 개개의 도파관 내에서 전파되는 광을 도파관 밖으로 재지향시킴으로써 도파관 밖으로 광을 추출하도록 구성된 광 추출 광학 엘리먼트들(1160, 1162, 1164, 1166, 1168)을 각각 포함할 수 있다. 추출된 광은 아웃커플링된 광으로 또한 지칭될 수 있고, 광 추출 광학 엘리먼트들은 아웃커플링 광학 엘리먼트들로 또한 지칭될 수 있다. 광의 추출된 빔은, 도파관 내에서 전파되는 광이 광 재지향 엘리먼트를 타격하는 위치들에서 도파관에 의해 출력된다. 광 추출 광학 엘리먼트들(1160, 1162, 1164, 1166, 1168)은, 예컨대 반사 및/또는 회절 광학 피처들일 수 있다. 설명의 용이함 및 도면 명확성을 위해 도파관들(1120, 1122, 1124, 1126, 1128)의 하단 주 표면들에 배치된 것으로 예시되지만, 일부 실시예들에서, 광 추출 광학 엘리먼트들(1160, 1162, 1164, 1166, 1168)은 상단 및/또는 하단 주 표면들에 배치될 수 있고 그리고/또는 도파관들(1120, 1122, 1124, 1126, 1128)의 볼륨에 직접 배치될 수 있다. 일부 실시예들에서, 광 추출 광학 엘리먼트들(1160, 1162, 1164, 1166, 1168)은 도파관들(1120, 1122, 1124, 1126, 1128)을 형성하기 위해 투명 기판에 부착된 재료 층에 형성될 수 있다. 일부 다른 실시예들에서, 도파관들(1120, 1122, 1124, 1126, 1128)은 재료의 모놀리식 피스(piece)일 수 있고, 광 추출 광학 엘리먼트들(1160, 1162, 1164, 1166, 1168)은 재료의 그 피스의 표면 상에 그리고/또는 그 내부에 형성될 수 있다.
[0098] 도 11을 계속 참조하면, 본 명세서에서 논의된 바와 같이, 각각의 도파관(1120, 1122, 1124, 1126, 1128)은 특정한 깊이 평면에 대응하는 이미지를 형성하기 위해 광을 출력하도록 구성된다. 예컨대, 눈에 가장 가까운 도파관(1120)은, 그러한 도파관(1120)으로 주입된 시준된 광을 눈(1110)에 전달하도록 구성될 수 있다. 시준된 광은 광학 무한대 초점 평면을 나타낼 수 있다. 다음 위의 도파관(1122)은 시준된 광이 눈(1110)에 도달할 수 있기 전에 제1 렌즈(1130)(예컨대, 네거티브 렌즈)를 통과하는 그러한 시준된 광을 전송하도록 구성될 수 있다. 제1 렌즈(1130)는 약간 볼록한 파면 곡률을 생성하도록 구성될 수 있어서, 눈/뇌가 그 다음 위의 도파관(1122)으로부터 나오는 광을, 광학 무한대로부터 눈(1110)을 향해 안쪽으로 더 가까운 제1 초점 평면으로부터 나오는 것으로 해석한다. 유사하게, 세번째 위의 도파관(1124)은 그의 출력 광을, 눈(1110)에 도달하기 전에 제1 렌즈(1130) 및 제2 렌즈(1132) 둘 모두를 통해 통과시킨다. 제1 및 제2 렌즈들(1130 및 1132)의 조합된 광 파워(optical power)는 다른 증분 양의 파면 곡률을 생성하도록 구성될 수 있어서, 눈/뇌는 제3 도파관(1124)으로부터 나오는 광을, 그 다음 위의 도파관(1122)으로부터의 광보다는 광학 무한대로부터 사람을 향해 안쪽으로 훨씬 더 가까운 제2 초점 평면으로부터 나오는 것으로 해석한다.
[0099] 다른 도파관 층들(예컨대, 도파관들(1126, 1128)) 및 렌즈들(예컨대, 렌즈들(1134, 1136))은 유사하게 구성되며, 스택에서 가장 높은 도파관(1128)은 자신의 출력을, 사람에 가장 가까운 초점 평면을 나타내는 총체적인 초점 파워에 대해 자신과 눈 사이의 렌즈들 모두를 통하여 전송한다. 스택된 도파관 어셈블리(1105)의 다른 측 상에서 세계(1158)로부터 나오는 광을 보거나/해석할 경우 렌즈들(1130, 1132, 1134, 1136)의 스택을 보상하기 위해, 보상 렌즈 층(1138)은 아래의 렌즈 스택(1130, 1132, 1134, 1136)의 총체적인 파워를 보상하도록 스택의 상단에 배치될 수 있다. 그러한 구성은 이용가능한 도파관/렌즈 페어링(pairing)들이 존재하는 만큼 많은 지각된 초점 평면들을 제공한다. 도파관들(1120, 1122, 1124, 1126, 1128)의 광 추출 광학 엘리먼트들(1160, 1162, 1164, 1166, 1168) 및 렌즈들(1130, 1132, 1134, 1136)의 초점을 맞추는 양상들 둘 모두는 정적(예컨대, 동적이 아니거나 전자-활성이 아님)일 수 있다. 일부 대안적인 실시예들에서, 어느 하나 또는 둘 모두는 전자-활성 특징들을 사용하여 동적일 수 있다.
[0100] 도 11을 계속 참조하면, 광 추출 광학 엘리먼트들(1160, 1162, 1164, 1166, 1168)은 그들의 개개의 도파관들 밖으로 광을 재지향시키는 것은 물론, 도파관과 연관된 특정한 깊이 평면에 대해 적합한 양의 발산 또는 시준으로 이러한 광을 출력하도록 구성될 수 있다. 그 결과, 상이한 연관된 깊이 평면들을 가진 도파관들은 상이한 구성들의 광 추출 광학 엘리먼트들을 가질 수 있으며, 이러한 광 추출 광학 엘리먼트들은 연관된 깊이 평면에 의존하여 상이한 양의 발산으로 광을 출력한다. 일부 실시예들에서, 본 명세서에서 논의된 바와 같이, 광 추출 광학 엘리먼트들(1160, 1162, 1164, 1166, 1168)은 특정 각도들로 광을 출력하도록 구성될 수 있는 볼류메트릭(volumetric) 또는 표면 피처들일 수 있다. 예컨대, 광 추출 광학 엘리먼트들(1160, 1162, 1164, 1166, 1168)은 볼륨 홀로그램들, 표면 홀로그램들, 및/또는 회절 격자들일 수 있다. 광 추출 광학 엘리먼트들, 이를테면, 회절 격자들은 2015년 6월 25일자에 공개된 미국 특허 공보 제2015/0178939호에 설명되며, 그로써 그 공보는 그 전체가 본 명세서에 인용에 의해 포함된다. 일부 실시예들에서, 피처들(1130, 1132, 1134, 1136, 1138)은 렌즈들이 아닐 수 있다. 오히려, 이들은 간단히 스페이서들(예컨대, 공기 갭들을 형성하기 위한 클래딩 층들 및/또는 구조들)일 수 있다.
[0101] 일부 실시예들에서, 광 추출 광학 엘리먼트들(1160, 1162, 1164, 1166, 1168)은 회절 패턴을 형성하는 회절 피처들 또는 "회절 광학 엘리먼트"(또한 본 명세서에서 "DOE"로 지칭됨)이다. 바람직하게는, DOE들은 비교적 낮은 회절 효율을 가져서, 빔의 광의 일부만이 DOE의 각각의 교차의 경우 눈(1110)을 향해 편향되지만, 나머지는 내부 전반사를 통하여 도파관을 통해 계속 이동된다. 따라서, 이미지 정보를 전달하는 광은 다수의 위치들에서 도파관을 빠져나가는 다수의 관련된 출사 빔들로 분할되며, 그 결과는 이러한 특정한 시준된 빔이 도파관 내에서 이리저리 바운싱되기 때문에 눈(1110)을 향하는 상당히 균일한 패턴의 출사 방출이다.
[0102] 일부 실시예들에서, 하나 이상의 DOE들은, 그들이 활성적으로 회절되는 "온" 상태들과 그들이 현저하게 회절되지 않는 "오프" 상태들 사이에서 스위칭가능할 수 있다. 예컨대, 스위칭가능 DOE는, 마이크로액적들이 호스트 매질에서 회절 패턴을 포함하는 중합체 분산형 액정의 층을 포함할 수 있으며, 마이크로액적들의 굴절률은 호스트 재료의 굴절률과 실질적으로 매칭하도록 스위칭될 수 있거나(이 경우, 패턴은 입사 광을 현저하게 회절시키지 않음) 또는 마이크로액적은 호스트 매질의 굴절률과 매칭하지 않는 굴절률로 스위칭될 수 있다(이 경우, 패턴은 입사 광을 활성적으로 회절시킴).
[0103] 일부 실시예들에서, 깊이 평면들의 수 및 분포 및/또는 피사계 심도(depth of field)는 뷰어의 눈들의 동공 사이즈들 및/또는 배향들에 기반하여 동적으로 변경될 수 있다. 일부 실시예들에서, 내향 이미징 시스템(1152)(예컨대, 디지털 카메라)은, 눈(1110)의 동공의 사이즈 및/또는 배향을 결정하기 위해 눈(1110)의 이미지들을 캡처하는 데 사용될 수 있다. 일부 실시예들에서, 내향 이미징 시스템(1152)은 (도 9에 예시된 바와 같이) 프레임(912)에 부착될 수 있으며, 예컨대 사용자(904)의 눈들의 동공 직경들 또는 배향들을 결정하기 위해 내향 이미징 시스템(1152)으로부터의 이미지 정보를 프로세싱할 수 있는 프로세싱 모듈들(924 및/또는 928)과 전기 통신할 수 있다.
[0104] 일부 실시예들에서, 내향 이미징 시스템(1152)(예컨대, 디지털 카메라)은 사용자의 움직임들, 이를테면 눈 움직임들 및 얼굴 움직임들을 관찰할 수 있다. 내향 이미징 시스템(1152)은, 눈(1110)의 동공의 사이즈 및/또는 배향을 결정하기 위해 눈(1110)의 이미지들을 캡처하는 데 사용될 수 있다. 내향 이미징 시스템(1152)은 사용자가 보고있는 방향(예컨대, 눈 포즈)을 결정할 시에 사용을 위한 또는 (예컨대, 홍채 식별을 통한) 사용자의 생체인식 식별을 위한 이미지들을 획득하는 데 사용될 수 있다. 내향 이미징 시스템(1152)에 의해 획득된 이미지들은, 어느 오디오 또는 시각적 콘텐츠가 사용자에게 제시되어야 하는지를 판단하기 위하여 디스플레이 시스템(1100)에 의해 사용될 수 있는 사용자의 눈 포즈 및/또는 분위기(mood)를 결정하기 위해 분석될 수 있다. 디스플레이 시스템(1100)은 또한, 센서들, 이를테면 관성 측정 유닛(IMU)들, 가속도계들, 자이로스코프들 등을 사용하여 머리 포즈(예컨대, 머리 포지션 또는 머리 배향)를 결정할 수 있다. 머리의 포즈는 줄기 트랙(track)들과 상호작용하고 그리고/또는 오디오 콘텐츠를 제시하기 위해 단독으로 또는 눈 포즈와 조합하여 사용될 수 있다.
[0105] 일부 실시예들에서, 각각의 눈의 동공 사이즈 및/또는 배향을 별개로 결정하기 위해 하나의 카메라가 각각의 눈에 대해 활용될 수 있으며, 그에 의해 각각의 눈에 대한 이미지 정보의 프리젠테이션이 그 눈에 동적으로 맞춰지게 허용한다. 일부 실시예들에서, 각각의 눈의 동공 사이즈 및/또는 눈 포즈를 독립적으로 별개로 결정하기 위해 적어도 하나의 카메라가 각각의 눈에 대해 활용될 수 있으며, 그에 의해 각각의 눈에 대한 이미지 정보의 프리젠테이션이 그 눈에 동적으로 맞춰지게 허용한다. 일부 다른 실시예들에서, 단일 눈(1110)만의 동공 직경 및/또는 배향이 (예컨대, 눈들의 쌍마다 단일 카메라만을 사용하여) 결정되며, 뷰어(904)의 양 눈들에 대해 유사한 것으로 가정된다.
[0106] 예컨대, 피사계 심도는 뷰어의 동공 사이즈와 반대로 변화될 수 있다. 그 결과, 뷰어의 눈들의 동공들의 사이즈들이 감소함에 따라, 피사계 심도가 증가하여, 인식가능하지 않은 하나의 평면의 위치가 눈의 초점의 깊이를 넘어서기 때문에, 그 평면이 인식가능하게 되고 동공 사이즈의 감소에 따라 보다 초점이 맞게 나타나며 피사계 심도의 증가와 상응할 수 있다. 마찬가지로, 뷰어에게 상이한 이미지들을 제시하기 위해 사용되는 이격된 깊이 평면들의 수는 감소된 동공 사이즈에 따라 감소될 수 있다. 예컨대, 뷰어는 하나의 깊이 평면으로부터 멀리 그리고 다른 깊이 평면으로 눈의 원근조절을 조정하지 않고서는, 하나의 동공 사이즈에서 제1 깊이 평면 및 제2 깊이 평면 둘 모두의 세부사항들을 명확하게 지각할 수 없을 수 있다. 그러나, 이들 2개의 깊이 평면들은 원근조절을 변화시키지 않고도 다른 동공 사이즈에서 사용자에게 동시에 충분히 초점을 맞출 수 있다.
[0107] 일부 실시예들에서, 디스플레이 시스템은 동공 사이즈 및/또는 배향의 결정들에 또는 특정한 동공 사이즈들 및/또는 배향들을 표시하는 전기 신호들을 수신하는 것에 기반하여, 이미지 정보를 수신하는 도파관들의 수를 변경할 수 있다. 예컨대, 만약 사용자의 눈들이 2개의 도파관들과 연관된 2개의 깊이 평면들 사이를 구별할 수 없다면, 제어기(1150)는 이들 도파관들 중 하나에 이미지 정보를 제공하는 것을 중단하도록 구성되거나 프로그래밍될 수 있다. 유리하게, 이것은 시스템 상의 프로세싱 부담을 감소시킬 수 있으며, 그에 의해 시스템의 응답성을 증가시킨다. 도파관에 대한 DOE들이 온 및 오프 상태들 사이에서 스위칭가능한 실시예들에서, 도파관이 이미지 정보를 수신할 경우, DOE들은 오프 상태로 스위칭될 수 있다.
[0108] 일부 실시예들에서, 출사 빔이 뷰어의 눈의 직경보다 작은 직경을 갖는 조건을 충족시키게 하는 것이 바람직할 수 있다. 그러나, 이러한 조건을 충족시키는 것은 뷰어의 동공들의 사이즈의 변동성을 고려하면 난제일 수 있다. 일부 실시예들에서, 이러한 조건은 뷰어의 동공의 사이즈의 결정들에 대한 응답으로 출사 빔의 사이즈를 변경함으로써 넓은 범위의 동공 사이즈들에 걸쳐 충족된다. 예컨대, 동공 사이즈가 감소함에 따라, 출사 빔의 사이즈가 또한 감소할 수 있다. 일부 실시예들에서, 출사 빔 사이즈는 가변 어퍼처를 사용하여 변경될 수 있다.
[0109] 디스플레이 시스템(1100)은 세계(1158)의 일부를 이미징하는 외향 이미징 시스템(1154)(예컨대, 디지털 카메라)을 포함할 수 있다. 세계(1158)의 이러한 부분은 시야(FOV)로 지칭될 수 있고, 이미징 시스템(1154)은 때때로 FOV 카메라로 지칭된다. 뷰어(904)에 의한 이미징 또는 보기를 위해 이용가능한 전체 구역은 FOR(field of regard)로 지칭될 수 있다. FOR은 디스플레이 시스템(1100)을 둘러싸는 4π 스테라디안(steradian)들의 입체각을 포함할 수 있다. 디스플레이 시스템(1100)의 일부 구현들에서, FOR은 디스플레이 시스템(1100)의 사용자(904) 주위의 입체각의 실질적으로 전부를 포함할 수 있는데, 왜냐하면 사용자(904)가 (사용자의 앞, 뒤, 위, 아래, 또는 측면들에서) 사용자를 둘러싸는 물체들을 보기 위해 그들의 머리 및 눈들을 이동시킬 수 있기 때문이다. 외향 이미징 시스템(1154)으로부터 획득된 이미지들은 사용자에 의해 행해진 제스처들(예컨대, 손 또는 손가락 제스처들)을 추적하고, 사용자 앞의 세계(1158)의 물체들을 검출하는 등을 행하기 위해 사용될 수 있다.
[0110] 물체 인식들 또는 검출들은 다양한 컴퓨터 비전 기법들을 사용하여 수행될 수 있다. 예컨대, 웨어러블 시스템은 장면 재구성, 이벤트 검출, 비디오 추적, 물체 인식(예컨대, 사람들 또는 문서들), 제스처 검출 또는 인식, 물체 포즈 추정, (예컨대, 환경 내의 사람 또는 문서 상의 이미지로부터의) 얼굴 인식, 학습, 인덱싱, 모션 추정, 또는 이미지 분석(예컨대, 문서들 내의 표시들, 이를테면 사진들, 서명들, 식별 정보, 여행 정보 등을 식별함) 등을 수행하도록 외향 이미징 시스템(1154)(도 11을 참조하여 설명됨)에 의해 획득된 이미지들을 분석할 수 있다. 하나 이상의 컴퓨터 비전 알고리즘들이 이러한 태스크들을 수행하기 위해 사용될 수 있다. 로컬 프로세싱 및 데이터 모듈(924) 및/또는 원격 프로세싱 모듈(928) 및 원격 데이터 저장소(932)는, 이미지들을 크롤링(crawl)하고 이미지들에 대해 컴퓨터 비전 알고리즘들을 수행하는 물체 인식기들을 이용하여 프로그래밍될 수 있다. 컴퓨터 비전 알고리즘들의 비-제한적인 예들은, 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 알고리즘, Eigenfaces 접근법, Lucas-Kanade 알고리즘, Horn-Schunk 알고리즘, Mean-shift 알고리즘, vSLAM(visual simultaneous location and mapping) 기법들, 순차적 베이지안 추정기(예컨대, 칼만 필터, 확장된 칼만 필터 등), 번들 조정, 적응형 임계화(Adaptive thresholding)(및 다른 임계화 기법들), ICP(Iterative Closest Point), SGM(Semi Global Matching), SGBM(Semi Global Block Matching), 피처 포인트 히스토그램(Feature Point Histogram)들, 다양한 머신 러닝 알고리즘들(이를테면, 예컨대, 지원 벡터 머신, k-최근접 이웃 알고리즘, 나이브 베이즈(Naive Bayes), 뉴럴 네트워크(콘볼루셔널 또는 딥 뉴럴 네트워크들을 포함함) 또는 다른 감독된/비-감독된 모델들 등) 등을 포함한다.
[0111] 물체 인식들 또는 검출들은 부가적으로 또는 대안적으로, 다양한 머신 러닝 알고리즘들에 의해 수행될 수 있다. 일단 트레이닝되면, 머신 러닝 알고리즘은 ARD(예컨대, 로컬 프로세싱 및 데이터 모듈(924) 및/또는 원격 프로세싱 모듈(928) 및 원격 데이터 저장소(932))에 의해 저장될 수 있다. 머신 러닝 알고리즘들의 일부 예들은, 회귀 알고리즘들(이를테면, 예컨대, 정규 최소 제곱 회귀(Ordinary Least Squares Regression)), 인스턴스-기반 알고리즘들(이를테면, 예컨대, 러닝 벡터 양자화(Learning Vector Quantization)), 결정 트리 알고리즘들(이를테면, 예컨대, 분류 및 회귀 트리들), 베이지안 알고리즘들(이를테면, 예컨대, 나이브 베이즈), 클러스터링 알고리즘들(이를테면, 예컨대, k-평균 클러스터링), 연관 규칙 러닝 알고리즘들(이를테면, 예컨대, 선험적 알고리즘들), 인공 뉴럴 네트워크 알고리즘들(이를테면, 예컨대, 퍼셉트론(Perceptron)), 딥 러닝 알고리즘들(이를테면, 예컨대, 딥 볼츠만 머신, 또는 딥 뉴럴 네트워크), 차원 감소 알고리즘들(이를테면, 예컨대, 주요한 컴포넌트 분석(Principal Component Analysis)), 앙상블 알고리즘들(이를테면, 예컨대, 스택된 일반화(Stacked Generalization)), 및/또는 다른 머신 러닝 알고리즘들을 포함하는 감독된 또는 비-감독된 머신 러닝 알고리즘들을 포함할 수 있다. 일부 실시예들에서, 개별 모델들은 개별 데이터 세트들에 대해 맞춤화될 수 있다. 예컨대, 웨어러블 디바이스는 기본 모델을 생성하거나 저장할 수 있다. 기본 모델은 데이터 타입(예컨대, 텔레프레전스(telepresence) 세션의 특정 사용자), 데이터 세트(예컨대, 텔레프레전스 세션의 사용자의 획득된 부가적인 이미지들의 세트), 조건부 상황들, 또는 다른 변동들에 특정적인 부가적인 모델들을 생성하기 위한 시작 포인트로서 사용될 수 있다. 일부 실시예들에서, 웨어러블 HMD는 총체적인 데이터의 분석을 위한 모델들을 생성하기 위해 복수의 기법들을 활용하도록 구성될 수 있다. 다른 기법들은 미리 정의된 임계치들 또는 데이터 값들을 사용하는 것을 포함할 수 있다.
[0112] 디스플레이 시스템(1100)은, 사용자가 디스플레이 시스템(400)과 상호작용하도록 제어기(1150)에 커맨드들을 입력할 수 있게 하는 사용자 입력 디바이스(1156)를 포함할 수 있다. 예컨대, 사용자 입력 디바이스(1156)는 트랙패드, 터치스크린, 조이스틱, 다중 DOF(degree-of-freedom) 제어기, 용량성 감지 디바이스, 게임 제어기, 키보드, 마우스, 방향 패드(D-패드), 완드, 햅틱 디바이스, 토템(예컨대, 가상 사용자 입력 디바이스로서 기능함) 등을 포함할 수 있다. 일부 경우들에서, 사용자는 디스플레이 시스템(1100)에 입력을 제공하기 위해(예컨대, 디스플레이 시스템(1100)에 의해 제공된 사용자 인터페이스에 사용자 입력을 제공하기 위해) 터치-감응형 입력 디바이스를 누르거나 그 상에서 스와이프하도록 손가락(예컨대, 엄지)을 사용할 수 있다. 사용자 입력 디바이스(1156)는 디스플레이 시스템(1100)의 사용 동안 사용자의 손에 의해 휴대될 수 있다. 사용자 입력 디바이스(1156)는 디스플레이 시스템(1100)과 유선 또는 무선 통신할 수 있다.
[0113] 도 12는 도파관에 의해 출력된 출사 빔들의 일 예를 도시한다. 하나의 도파관이 예시되지만, 도파관 어셈블리(1105) 내의 다른 도파관들이 유사하게 기능할 수 있다는 것이 인지될 것이며, 여기서 도파관 어셈블리(1105)는 다수의 도파관들을 포함한다. 광(1205)은 도파관(1120)의 입력 에지(1210)에서 도파관(1120)으로 주입되고 내부 전반사(TIR)에 의해 도파관(1120) 내에서 전파된다. 광(1205)이 회절 광학 엘리먼트(DOE)(1160)에 충돌하는 포인트들에서, 광의 일부는 출사 빔들(1215)로서 도파관을 빠져나간다. 출사 빔들(1215)은 실질적으로 평행한 것으로 예시되지만, 그들은 또한 도파관(1120)과 연관된 깊이 평면에 의존하여, 일정 각도로 눈(1110)으로 전파되도록 재지향될 수 있다(예컨대, 발산 출사 빔들을 형성함). 실질적으로 평행한 출사 빔들은, 눈(1110)으로부터 먼 거리(예컨대, 광학적 무한대)에 있는 깊이 평면 상에 세팅된 것으로 나타나는 이미지들을 형성하도록 광을 아웃커플링하는 광 추출 광학 엘리먼트들을 갖는 도파관을 표시할 수 있다는 것이 인지될 것이다. 다른 도파관들 또는 광 추출 광학 엘리먼트들의 다른 세트들은 더 발산하는 출사 빔 패턴을 출력할 수 있으며, 이는, 눈(1110)이 망막 상에 초점을 맞추게 하기 위해 더 근접한 거리로 원근조절하는 것을 요구할 것이고 광학적 무한대보다 눈(1110)에 더 근접한 거리로부터의 광으로서 뇌에 의해 해석될 것이다.
[0114] 도 13은, 도파관 장치, 도파관 장치로 또는 도파관 장치로부터의 광을 광학적으로 커플링시키는 광학 커플러 서브시스템, 및 제어 서브시스템을 포함하는 디스플레이 시스템(1100)의 다른 예를 도시한다. 디스플레이 시스템(1100)은 다-초점 볼류메트릭, 이미지 또는 광 필드를 생성하는 데 사용될 수 있다. 디스플레이 시스템(1100)은 하나 이상의 1차 평면형 도파관들(1304)(도 13에서 단지 하나만 도시됨) 및 1차 도파관들(1304) 중 적어도 일부의 1차 도파관들 각각과 연관된 하나 이상의 DOE들(1308)을 포함할 수 있다. 평면형 도파관들(1304)은 도 11을 참조하여 논의된 도파관들(1120, 1122, 1124, 1126, 1128)과 유사할 수 있다. 광학 시스템은, 제1 축(도 13의 뷰에서 수직 또는 Y-축)을 따라 광을 중계하고 제1 축(예컨대, Y-축)을 따라 광의 유효 출사 동공을 확장시키기 위해 분배 도파관 장치를 이용할 수 있다. 분배 도파관 장치는, 예컨대, 분배 평면형 도파관(1312), 및 분배 평면형 도파관(1312)과 연관된 적어도 하나의 DOE(1316)(이중 일점 쇄선으로 예시됨)를 포함할 수 있다. 분배 평면형 도파관(1312)은 그와 상이한 배향을 갖는 1차 평면형 도파관(1304)과 적어도 일부 면들에서 유사하거나 동일할 수 있다. 마찬가지로, 적어도 하나의 DOE(1316)는 DOE(1308)와 적어도 일부 면들에서 유사하거나 동일할 수 있다. 예컨대, 분배 평면형 도파관(1312) 및/또는 DOE(1316)는 각각, 1차 평면형 도파관(1304) 및/또는 DOE(1308)와 동일한 재료들로 구성될 수 있다. 도 13에 도시된 광학 시스템은 도 9에 도시된 웨어러블 디스플레이 시스템(900)에 통합될 수 있다.
[0115] 중계된 그리고 출사-동공 확장된 광은 분배 도파관 장치로부터 하나 이상의 1차 평면형 도파관들(1304)에 광학적으로 커플링된다. 1차 평면형 도파관(1304)은 바람직하게는, 제1 축에 직교하는 제2 축(예컨대, 도 13의 뷰에서 수평 또는 X-축)을 따라 광을 중계한다. 특히, 제2 축은 제1 축에 비-직교 축일 수 있다. 1차 평면형 도파관(1304)은 그 제2 축(예컨대, X-축)을 따라 광의 유효 출사 경로를 확장시킨다. 예컨대, 분배 평면형 도파관(1312)은 수직 또는 Y-축을 따라 광을 중계 및 확장시키며, 수평 또는 X-축을 따라 광을 중계 및 확장시키는 1차 평면형 도파관(1304)으로 그 광을 전달할 수 있다.
[0116] 디스플레이 시스템(1100)은 단일 모드 광섬유(1324)의 근단부에 광학적으로 커플링될 수 있는 컬러 광(예컨대, 적색, 녹색 및 청색 레이저 광)의 하나 이상의 소스들(1320)을 포함할 수 있다. 광 섬유(1324)의 원단부는 압전 재료의 중공 튜브(1328)를 통해 스레딩(thread)되거나 수용될 수 있다. 원단부는 고정되지 않은 가요성 캔틸레버(1332)로서 튜브(1328)로부터 돌출한다. 압전 튜브(1328)는 4개의 쿼드런트(quadrant) 전극들(예시되지 않음)과 연관될 수 있다. 전극들은 예컨대, 튜브(1328)의 밖, 외측 표면 또는 외측 주변부 또는 직경 상에 도금될 수 있다. 코어 전극(예시되지 않음)은 또한 튜브(1328)의 코어, 중심, 내부 주변부 또는 내부 직경에 위치된다.
[0117] 예컨대, 와이어들(1340)을 통해 전기적으로 커플링된 구동 전자 장치(1336)는 2개의 축들에서 압전 튜브(1328)를 독립적으로 구부리기 위해 전극들의 대향하는 쌍들을 구동한다. 광섬유(1324)의 돌출 원단 끝 부분은 기계 공진 모드들을 갖는다. 공진 주파수들은 광섬유(1324)의 직경, 길이 및 재료 특성들에 의존할 수 있다. 섬유 캔틸레버(1332)의 제1 기계 공진 모드 인근에서 압전 튜브(1328)를 진동시킴으로써, 섬유 캔틸레버(1332)는 진동하게 되고, 큰 편향들을 통해 스윕(sweep)할 수 있다.
[0118] 2개의 축들에서 공진 진동을 자극함으로써, 섬유 캔틸레버(1332)의 끝 부분은 영역 충전 2차원(2-D) 스캔으로 2축 방향으로(biaxially) 스캔된다. 섬유 캔틸레버(1332)의 스캔과 동기하여 광원(들)(1320)의 세기를 변조함으로써, 섬유 캔틸레버(1332)로부터 나오는 광은 이미지를 형성한다. 그러한 셋업에 대한 설명들은 미국 특허 공보 제 2014/0003762호에서 제공되며, 그 공보는 그 전체가 본원에 인용에 의해 통합된다.
[0119] 광학 커플러 서브시스템의 컴포넌트(1344)는 스캐닝 섬유 캔틸레버(1332)로부터 나오는 광을 시준한다. 시준된 광은 적어도 하나의 회절 광학 엘리먼트(DOE)(1316)를 포함하는 좁은 분배 평면형 도파관(1312)으로 미러 표면(1348)에 의해 반사된다. 시준된 광은 내부 전반사에 의해 분배 평면형 도파관(1312)을 따라 (도 13의 뷰에 대해) 수직으로 전파되고, 이렇게 하여, DOE(1316)와 반복적으로 교차한다. DOE(1316)는 바람직하게는, 낮은 회절 효율을 갖는다. 이는, 광의 일부(예컨대, 10%)로 하여금 DOE(1316)와의 각각의 교차점에서 더 큰 1차 평면형 도파관(1304)의 에지를 향해 회절되게 하고, 광의 일부로 하여금 TIR을 통해 분배 평면형 도파관(1312)의 길이 아래로 그의 오리지널 궤적 상에서 계속되게 한다.
[0120] DOE(1316)와의 각각의 교차점에서, 부가적인 광이 1차 도파관(1312)의 입구를 향해 회절된다. 인입 광을 다수의 아웃커플링된 세트들로 분할함으로써, 광의 출사 동공은 분배 평면형 도파관(1312)에서 DOE(1316)에 의해 수직으로 확장된다. 분배 평면형 도파관(1312) 밖으로 커플링되는 이러한 수직으로 확장된 광은 1차 평면형 도파관(1304)의 에지에 들어간다.
[0121] 1차 도파관(1304)에 들어가는 광은 TIR을 통해 1차 도파관(1304)을 따라 (도 13의 뷰에 대해) 수평으로 전파된다. 광이 TIR을 통해 1차 도파관(1304)의 길이의 적어도 일부를 따라 수평으로 전파됨에 따라 광은 다수의 포인트들에서 DOE(1308)와 교차한다. DOE(1308)는 유리하게는, 광의 편향 및 초점 맞추기 둘 모두를 생성하기 위해, 선형 회절 패턴과 방사상 대칭 회절 패턴의 합인 위상 프로파일을 갖도록 설계 또는 구성될 수 있다. DOE(1308)는 유리하게는, 낮은 회절 효율(예컨대, 10%)을 가질 수 있어서, 빔의 광의 일부만이 DOE(1308)의 각각의 교차에 의해 뷰의 눈을 향해 편향되는 반면, 광의 나머지는 TIR을 통해 도파관(1304)을 통하여 계속 전파된다.
[0122] 전파되는 광과 DOE(1308) 사이의 각각의 교차점에서, 광의 일부가 1차 도파관(1304)의 인접한 면을 향해 회절되어, 광이 TIR을 벗어나 1차 도파관(1304)의 면으로부터 나오게 허용한다. 일부 실시예들에서, DOE(1308)의 방사상 대칭 회절 패턴은 부가적으로, 회절된 광에 초점 레벨을 부여하여, 개별 빔의 광 파면을 성형(예컨대, 곡률을 부여함)하는 것 뿐만 아니라, 설계된 초점 레벨과 매칭하는 각도로 빔을 조향시킨다.
[0123] 따라서, 이들 상이한 경로들은 상이한 각도들의 다수의 DOE들(1308), 초점 레벨들, 및/또는 출사 동공에서 상이한 충전 패턴들을 산출하는 것에 의해 광으로 하여금 1차 평면형 도파관(1304) 밖으로 커플링되게 할 수 있다. 출사 동공에서의 상이한 충전 패턴들은 다수의 깊이 평면들을 갖는 광 필드 디스플레이를 생성하는 데 유익하게 사용될 수 있다. 도파관 어셈블리 내의 각각의 층 또는 스택 내의 층들(예컨대, 3개의 층들)의 세트는 개개의 컬러(예컨대, 적색, 청색, 녹색)를 생성하는 데 이용될 수 있다. 따라서, 예컨대, 3개의 인접한 층들의 제1 세트는 제1 초점 깊이로 적색, 청색 및 녹색 광을 각각 생성하는 데 이용될 수 있다. 3개의 인접한 층들의 제2 세트는 제2 초점 깊이로 적색, 청색 및 녹색 광을 각각 생성하는 데 이용될 수 있다. 다수의 세트들은 다양한 초점 깊이들을 갖는 완전한 3D 또는 4D 컬러 이미지 광 필드를 생성하는 데 이용될 수 있다.
부가적인 양상들
UI 이벤트를 결정하기 위해, 트레이닝된 뉴럴 네트워크를 사용하는 웨어러블 디스플레이 시스템의 예들
[0124] 제1 양상에서, 웨어러블 디스플레이 시스템이 개시된다. 웨어러블 디스플레이 시스템은, 포인터를 포함하는 이미지를 캡처하도록 구성된 이미지 캡처 디바이스; 이미지, 이미지 상의 이미지 위치에 있는 이미지와 연관된 가상 사용자 인터페이스(UI) 디바이스, 및 트레이닝 가상 UI 디바이스와 연관된 트레이닝 이미지 ― 트레이닝 이미지는 트레이닝 가상 UI 디바이스 및 트레이닝 포인터의 표현을 포함함 ― 그리고 트레이닝 이미지 내의 트레이닝 가상 UI 디바이스 및 트레이닝 포인터에 대한 트레이닝 UI 이벤트를 사용하여 트레이닝된 UI 이벤트를 결정하기 위한 뉴럴 네트워크를 저장하도록 구성된 비-일시적인 컴퓨터-판독가능 저장 매체; 이미지가 이미지 캡처 디바이스에 의해 캡처될 경우 디스플레이 위치에서 가상 UI 디바이스를 디스플레이하도록 구성된 디스플레이 ― 이미지 위치는 디스플레이 위치에 관련됨 ―; 및 이미지 캡처 디바이스, 디스플레이, 및 비-일시적인 컴퓨터-판독가능 저장 매체와 통신하는 하드웨어 프로세서를 포함하며, 프로세서는, 이미지 캡처 디바이스로부터 이미지를 수신하고; 이미지 위치에서 이미지 상으로 가상 UI 디바이스의 표현을 렌더링하고; 그리고 뉴럴 네트워크를 사용하여, 이미지 내의 포인터 및 이미지와 연관된 가상 UI 디바이스에 대한 UI 이벤트를 결정하도록, 실행가능 명령들에 의해 프로그래밍된다. 프로세서는, UI 이벤트에 기반하여 가상 콘텐츠를 생성하고, 디스플레이로 하여금 가상 콘텐츠를 웨어러블 디스플레이 시스템의 착용자에게 제시하게 할 수 있다.
[0125] 제2 양상에서, 양상 1의 웨어러블 디스플레이 시스템에 있어서, 프로세서는, UI 이벤트에 기반하여 가상 콘텐츠(또는 가상 이미지 정보)를 생성하고; 그리고 디스플레이로 하여금 가상 콘텐츠를 웨어러블 디스플레이 시스템의 착용자에게 제공하게 하도록 추가로 프로그래밍된다.
[0126] 제3 양상에서, 양상 1 또는 양상 2의 웨어러블 디스플레이 시스템에 있어서, 프로세서는 UI 이벤트에 기반하여 액션(예컨대, 다른 디바이스, 이를테면 TV, 자동차 등의 활성화, 또는 다른 디바이스, 이를테면 폰, 모바일 디바이스, ARD 등과 연결되는 것)을 수행하도록 추가로 프로그래밍된다.
[0127] 제4 양상에서, 양상 1 내지 양상 3 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 가상 UI 디바이스의 표현은 높은 콘트라스트들의 복수의 형상들을 포함한다.
[0128] 제5 양상에서, 양상 4의 웨어러블 디스플레이 시스템에 있어서, 높은 콘트라스트들의 복수의 형상들은 높은 콘트라스트의 복수의 동심 형상들을 포함한다.
[0129] 제6 양상에서, 양상 4 또는 양상 5의 웨어러블 디스플레이 시스템에 있어서, 복수의 형상들의 형상 무게 중심들은 서로 임계 거리 내에 있다.
[0130] 제7 양상에서, 양상 6의 웨어러블 디스플레이 시스템에 있어서, 임계 거리는 0이다.
[0131] 제8 양상에서, 양상 4 내지 양상 7 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 복수의 형상들 중 제1 형상은 제1 컬러와 연관되고, 복수의 형상들 중 제2 형상은 제2 컬러와 연관되며, 제1 형상은 제2 형상에 인접한다.
[0132] 제9 양상에서, 양상 8의 웨어러블 디스플레이 시스템에 있어서, 제1 컬러는 흑색이고, 제2 컬러는 백색이다.
[0133] 제10 양상에서, 양상 8 또는 양상 9의 웨어러블 디스플레이 시스템에 있어서, 제2 형상은 부분적으로 투명하다.
[0134] 제11 양상에서, 양상 10의 웨어러블 디스플레이 시스템에 있어서, 제2 형상의 제1 구역은 제1 투명도 값과 연관되고, 제2 형상의 제2 구역은 제2 투명도 값과 연관된다.
[0135] 제12 양상에서, 양상 11의 웨어러블 디스플레이 시스템에 있어서, 제2 형상의 제2 구역은 제2 형상의 제1 구역으로부터 더 멀리 떨어져 있고, 제2 투명도 값은 제1 투명도 값보다 작다.
[0136] 제13 양상에서, 양상 8 내지 양상 12 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 제2 형상은 제1 형상 내에 있다.
[0137] 제14 양상에서, 양상 8 내지 양상 13 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 복수의 형상들 중 제3 형상은 제3 컬러와 연관되고, 제3 형상은 제1 형상에 인접한다.
[0138] 제15 양상에서, 양상 14의 웨어러블 디스플레이 시스템에 있어서, 제3 컬러는 백색이다.
[0139] 제16 양상에서, 양상 14 또는 양상 15의 웨어러블 디스플레이 시스템에 있어서, 제1 형상은 제3 형상 내에 있다.
[0140] 제17 양상에서, 양상 1 내지 양상 16 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, UI 이벤트는 가상 UI 디바이스의 복수의 상태들 중 일 상태에 대응한다.
[0141] 제18 양상에서, 양상 17의 웨어러블 디스플레이 시스템에 있어서, 복수의 상태들은 가상 UI 디바이스의 활성화 또는 비-활성화를 포함한다.
[0142] 제19 양상에서, 양상 1 내지 양상 18 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 가상 UI 디바이스는 버튼, 업다운, 스피너, 피커, 라디오 버튼, 라디오 버튼 리스트, 체크박스, 사진 박스, 체크박스 리스트, 드롭다운 리스트, 드롭다운 메뉴, 선택 리스트, 리스트 박스, 콤보 박스, 텍스트박스, 슬라이더, 링크, 키보드 키, 스위치, 슬라이더, 터치 표면, 또는 이들의 조합으로 구성된 그룹으로부터 선택된다.
[0143] 제20 양상에서, 양상 1 내지 양상 19 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, UI 포인터는 사용자 또는 사용자의 일부와 연관된 물체를 포함한다.
[0144] 제21 양상에서, 양상 20의 웨어러블 디스플레이 시스템에 있어서, 사용자와 연관된 물체는 포인터, 펜, 펜슬, 마커, 하이라이터, 또는 이들의 조합을 포함하고, 사용자의 일부는 사용자의 손가락을 포함한다.
머신 러닝 모델(예컨대, 뉴럴 네트워크)을 트레이닝시키기 위한 트레이닝 데이터를 생성하기 위한 컴퓨터 시스템의 예들
[0145] 제22 양상에서, 사용자 인터페이스 이벤트를 결정하기 위해 뉴럴 네트워크를 트레이닝시키기 위한 시스템이 개시된다. 시스템은, 실행가능 명령들을 저장한 컴퓨터-판독가능한 메모리; 및 하나 이상의 프로세서들을 포함하며, 하나 이상의 프로세서들은, 적어도, 복수의 이미지들을 수신하고 ― 복수의 이미지들 중 일 이미지는 복수의 포인터들 중 일 포인터를 포함하고, 이미지는 이미지 상의 이미지 위치에 있는 복수의 가상 사용자 인터페이스(UI) 디바이스들 중 일 가상 UI 디바이스와 연관되며, 이미지는 이미지 내의 포인터 및 가상 UI 디바이스에 대한 복수의 UI 이벤트들 중 일 UI 이벤트와 연관됨 ―; 트레이닝 이미지를 생성하기 위해 이미지 위치에서 이미지 상으로 가상 UI 디바이스의 표현을 렌더링하며; 그리고 입력 데이터 및 대응하는 타겟 출력 데이터를 포함하는 트레이닝 세트를 생성하도록 실행가능 명령들에 의해 프로그래밍되고, 입력 데이터는 트레이닝 이미지를 포함하고, 대응하는 타겟 출력 데이터는 UI 이벤트를 포함한다.
[0146] 제23 양상에서, 양상 22의 시스템에 있어서, 하나 이상의 프로세서들은, 트레이닝 세트를 사용하여, 가상 UI 디바이스 및 포인터와 연관된 UI 이벤트를 결정하기 위해 머신 러닝 모델(예컨대, 뉴럴 네트워크)을 트레이닝시키도록 추가로 프로그래밍된다.
[0147] 제24 양상에서, 양상 22 또는 양상 23의 시스템에 있어서, 가상 UI 디바이스의 표현은 높은 콘트라스트들의 복수의 형상들을 포함한다.
[0148] 제25 양상에서, 양상 24의 시스템에 있어서, 높은 콘트라스트들의 복수의 형상들은 높은 콘트라스트의 복수의 동심 형상들을 포함한다.
[0149] 제26 양상에서, 양상 24 또는 양상 25의 시스템에 있어서, 복수의 형상들의 형상 무게 중심들은 서로 임계 거리 내에 있다.
[0150] 제27 양상에서, 양상 26의 시스템에 있어서, 임계 거리는 0이다.
[0151] 제28 양상에서, 양상 24 내지 양상 27 중 어느 한 양상의 시스템에 있어서, 복수의 형상들 중 제1 형상은 제1 컬러와 연관되고, 복수의 형상들 중 제2 형상은 제2 컬러와 연관되며, 제1 형상은 제2 형상에 인접한다.
[0152] 제29 양상에서, 양상 28의 시스템에 있어서, 제1 컬러는 흑색이고, 제2 컬러는 백색이다.
[0153] 제30 양상에서, 양상 28 또는 양상 29의 시스템에 있어서, 제2 형상은 부분적으로 투명하다.
[0154] 제31 양상에서, 양상 30의 시스템에 있어서, 제2 형상의 제1 구역은 제1 투명도 값과 연관되고, 제2 형상의 제2 구역은 제2 투명도 값과 연관된다.
[0155] 제32 양상에서, 양상 31의 시스템에 있어서, 제2 형상의 제2 구역은 제2 형상의 제1 구역으로부터 더 멀리 떨어져 있고, 제2 투명도 값은 제1 투명도 값보다 작다.
[0156] 제33 양상에서, 양상 28 내지 양상 32 중 어느 한 양상의 시스템에 있어서, 제2 형상은 제1 형상 내에 있다.
[0157] 제34 양상에서, 양상 28 내지 양상 33 중 어느 한 양상의 시스템에 있어서, 복수의 형상들 중 제3 형상은 제3 컬러를 갖고, 제3 형상은 제1 형상에 인접한다.
[0158] 제35 양상에서, 양상 34의 시스템에 있어서, 제3 컬러는 백색이다.
[0159] 제36 양상에서, 양상 34 또는 양상 35의 시스템에 있어서, 제1 형상은 제3 형상 내에 있다.
[0160] 제37 양상에서, 양상 22 내지 양상 36 중 어느 한 양상의 시스템에 있어서, UI 이벤트는 가상 UI 디바이스의 복수의 상태들 중 일 상태에 대응한다.
[0161] 제38 양상에서, 양상 37의 시스템에 있어서, 복수의 상태들은 가상 UI 디바이스의 활성화 또는 비-활성화를 포함한다.
[0162] 제39 양상에서, 양상 22 내지 양상 38 중 어느 한 양상의 시스템에 있어서, 복수의 가상 UI 디바이스들은 버튼, 업다운, 스피너, 피커, 라디오 버튼, 라디오 버튼 리스트, 체크박스, 사진 박스, 체크박스 리스트, 드롭다운 리스트, 드롭다운 메뉴, 선택 리스트, 리스트 박스, 콤보 박스, 텍스트박스, 슬라이더, 링크, 키보드 키, 스위치, 슬라이더, 터치 표면, 또는 이들의 조합을 포함한다.
[0163] 제40 양상에서, 양상 22 내지 양상 39 중 어느 한 양상의 시스템에 있어서, 복수의 UI 포인터들은 사용자 또는 사용자의 일부와 연관된 물체를 포함한다.
[0164] 제41 양상에서, 양상 40의 시스템에 있어서, 사용자와 연관된 물체는 포인터, 펜, 펜슬, 마커, 하이라이터, 또는 이들의 조합을 포함하고, 사용자의 일부는 사용자의 손가락을 포함한다.
UI 이벤트를 결정하기 위해, 트레이닝된 뉴럴 네트워크를 사용하는 방법의 예들
[0165] 제42 양상에서, UI 이벤트를 결정하기 위해 뉴럴 네트워크를 사용하기 위한 방법이 개시된다. 방법은 하드웨어 프로세서의 제어 하에 있으며, 트레이닝 가상 UI 디바이스와 연관된 트레이닝 이미지 ― 트레이닝 이미지는 트레이닝 포인터 및 트레이닝 가상 UI 디바이스의 표현을 포함함 ―, 및 트레이닝 이미지 내의 트레이닝 가상 UI 디바이스 및 트레이닝 포인터에 대한 트레이닝 UI 이벤트를 사용하여 트레이닝된 UI 이벤트를 결정하기 위해 뉴럴 네트워크에 액세스하는 단계; 포인터를 포함하는 이미지를 수신하는 단계 ― 가상 사용자 인터페이스(UI) 디바이스는 이미지 상의 이미지 위치의 이미지와 연관되고, 가상 UI 디바이스는, 이미지가 캡처될(예컨대, ARD의 이미지 캡처 디바이스에 의해 캡처될) 경우 디스플레이 위치에서(예컨대, ARD 디스플레이 상의 디스플레이 위치에서) 디스플레이되며, 이미지 위치는 디스플레이 위치에 관련됨 ―; 이미지 캡처 디바이스로부터 이미지를 수신하는 단계; 이미지 위치에서 이미지 상으로 가상 UI 디바이스의 표현을 렌더링하는 단계; 및 뉴럴 네트워크를 사용하여, 이미지 내의 포인터 및 이미지와 연관된 가상 UI 디바이스에 대한 UI 이벤트를 결정하는 단계를 포함한다.
[0166] 제43 양상에서, 양상 42의 방법은, UI 이벤트에 기반하여 가상 콘텐츠(또는 가상 이미지 정보)를 생성하는 단계; 및 선택적으로, 가상 콘텐츠로 하여금 디스플레이되게 하는 단계를 더 포함한다.
[0167] 제44 양상에서, 양상 42 또는 양상 43의 방법은, UI 이벤트에 기반하여 액션(예컨대, 다른 디바이스, 이를테면 TV, 자동차 등의 활성화, 또는 다른 디바이스, 이를테면 폰, 모바일 디바이스, ARD 등과 연결되는 것)을 수행하는 단계를 더 포함한다.
[0168] 제45 양상에서, 양상 42 내지 양상 44 중 어느 한 양상의 방법에 있어서, 가상 UI 디바이스의 표현은 높은 콘트라스트들의 복수의 형상들을 포함한다.
[0169] 제46 양상에서, 양상 45의 방법에 있어서, 높은 콘트라스트들의 복수의 형상들은 높은 콘트라스트의 복수의 동심 형상들을 포함한다.
[0170] 제47 양상에서, 양상 45 또는 양상 46의 방법에 있어서, 복수의 형상들의 형상 무게 중심들은 서로 임계 거리 내에 있다.
[0171] 제48 양상에서, 양상 47의 방법에 있어서, 임계 거리는 0이다.
[0172] 제49 양상에서, 양상 45 내지 양상 48 중 어느 한 양상의 방법에 있어서, 복수의 형상들 중 제1 형상은 제1 컬러와 연관되고, 복수의 형상들 중 제2 형상은 제2 컬러와 연관되며, 제1 형상은 제2 형상에 인접한다.
[0173] 제50 양상에서, 양상 49의 방법에 있어서, 제1 컬러는 흑색이고, 제2 컬러는 백색이다.
[0174] 제51 양상에서, 양상 49 또는 양상 50의 방법에 있어서, 제2 형상은 부분적으로 투명하다.
[0175] 제52 양상에서, 양상 51의 방법에 있어서, 제2 형상의 제1 구역은 제1 투명도 값과 연관되고, 제2 형상의 제2 구역은 제2 투명도 값과 연관된다.
[0176] 제53 양상에서, 양상 52의 방법에 있어서, 제2 형상의 제2 구역은 제2 형상의 제1 구역으로부터 더 멀리 떨어져 있고, 제2 투명도 값은 제1 투명도 값보다 작다.
[0177] 제54 양상에서, 양상 49 내지 양상 53 중 어느 한 양상의 방법에 있어서, 제2 형상은 제1 형상 내에 있다.
[0178] 제55 양상에서, 양상 49 내지 양상 54 중 어느 한 양상의 방법에 있어서, 복수의 형상들 중 제3 형상은 제3 컬러와 연관되고, 제3 형상은 제1 형상에 인접한다.
[0179] 제56 양상에서, 양상 55의 방법에 있어서, 제3 컬러는 백색이다.
[0180] 제57 양상에서, 양상 55 또는 양상 56의 방법에 있어서, 제1 형상은 제3 형상 내에 있다.
[0181] 제58 양상에서, 양상 42 내지 양상 57 중 어느 한 양상의 방법에 있어서, UI 이벤트는 가상 UI 디바이스의 복수의 상태들 중 일 상태에 대응한다.
[0182] 제59 양상에서, 양상 58의 방법에 있어서, 복수의 상태들은 가상 UI 디바이스의 활성화 또는 비-활성화를 포함한다.
[0183] 제60 양상에서, 양상 42 내지 양상 59 중 어느 한 양상의 방법에 있어서, 가상 UI 디바이스는 버튼, 업다운, 스피너, 피커, 라디오 버튼, 라디오 버튼 리스트, 체크박스, 사진 박스, 체크박스 리스트, 드롭다운 리스트, 드롭다운 메뉴, 선택 리스트, 리스트 박스, 콤보 박스, 텍스트박스, 슬라이더, 링크, 키보드 키, 스위치, 슬라이더, 터치 표면, 또는 이들의 조합으로 구성된 그룹으로부터 선택된다.
[0184] 제61 양상에서, 양상 42 내지 양상 60 중 어느 한 양상의 방법에 있어서, UI 포인터는 사용자 또는 사용자의 일부와 연관된 물체를 포함한다.
[0185] 제62 양상에서, 양상 61의 방법에 있어서, 사용자와 연관된 물체는 포인터, 펜, 펜슬, 마커, 하이라이터, 또는 이들의 조합을 포함하고, 사용자의 일부는 사용자의 손가락을 포함한다.
머신 러닝 모델(예컨대, 뉴럴 네트워크)를 트레이닝시키기 위한 방법의 예들
[0186] 제63 양상에서, 사용자 인터페이스 이벤트를 결정하기 위해 뉴럴 네트워크를 트레이닝시키기 위한 방법이 개시된다. 방법은 하드웨어 프로세서의 제어 하에 있으며, 복수의 이미지들을 수신하는 단계 ― 복수의 이미지들 중 제1 이미지는 복수의 포인터들 중 일 포인터의 제1 표현을 포함하고, 제1 이미지는 제1 이미지 내의 제1 이미지 위치에서 복수의 가상 사용자 인터페이스(UI) 디바이스들 중 일 가상 UI 디바이스의 제1 표현과 연관되며, 제1 이미지는 제1 이미지 내의 포인터 및 가상 UI 디바이스에 대한 복수의 UI 이벤트들 중 일 UI 이벤트와 연관됨 ―; 제1 트레이닝 이미지를 생성하기 위해 제1 이미지 위치에서 제1 이미지 상으로 가상 UI 디바이스의 제1 표현을 렌더링하는 단계; 입력 데이터 및 대응하는 타겟 출력 데이터를 포함하는 트레이닝 세트를 생성하는 단계 ― 입력 데이터는 제1 트레이닝 이미지를 포함하고, 대응하는 타겟 출력 데이터는 UI 이벤트를 포함함 ―; 및 가상 UI 디바이스 및 포인터와 연관된 UI 이벤트를 결정하기 위해 트레이닝 세트를 사용하여 뉴럴 네트워크를 트레이닝시키는 단계를 포함한다.
[0187] 제64 양상에서, 양상 63의 방법에 있어서, 복수의 이미지들 중 제2 이미지는 포인터의 제2 표현을 포함하고, 제2 이미지는 제2 이미지 내의 제2 이미지 위치에서 가상 UI 디바이스의 제2 표현과 연관되며, 제2 이미지는 UI 이벤트와 연관된다.
[0188] 제65 양상에서, 양상 64의 방법에 있어서, 제1 이미지 및 제2 이미지는 스테레오스코픽 쌍을 형성한다.
[0189] 제66 양상에서, 양상 64의 방법에 있어서, 제1 이미지 및 제2 이미지는 이미지들의 멀티스코픽 세트의 이미지들이다.
[0190] 제67 양상에서, 양상 64 내지 양상 66 중 어느 한 양상의 방법은, 제2 트레이닝 이미지를 생성하기 위해 제2 이미지 위치에서 제2 이미지 상으로 가상 UI 디바이스의 제2 표현을 렌더링하는 단계를 더 포함하며, 입력 데이터는 제2 트레이닝 이미지를 포함한다.
[0191] 제68 양상에서, 양상 63 내지 양상 67 중 어느 한 양상의 방법에 있어서, 가상 UI 디바이스의 제1 표현은 높은 콘트라스트들의 복수의 형상들을 포함한다.
[0192] 제69 양상에서, 양상 68의 방법에 있어서, 높은 콘트라스트들의 복수의 형상들은 높은 콘트라스트의 복수의 동심 형상들을 포함한다.
[0193] 제70 양상에서, 양상 68 또는 양상 69의 방법에 있어서, 복수의 형상들의 형상 무게 중심들은 서로 임계 거리 내에 있다.
[0194] 제71 양상에서, 양상 70의 방법에 있어서, 임계 거리는 0이다.
[0195] 제72 양상에서, 양상 68 내지 양상 71 중 어느 한 양상의 방법에 있어서, 복수의 형상들 중 제1 형상은 제1 컬러와 연관되고, 복수의 형상들 중 제2 형상은 제2 컬러와 연관되며, 제1 형상은 제2 형상에 인접한다.
[0196] 제73 양상에서, 양상 72의 방법에 있어서, 제1 컬러는 흑색이고, 제2 컬러는 백색이다.
[0197] 제74 양상에서, 양상 72 또는 양상 73의 방법에 있어서, 제2 형상은 부분적으로 투명하다.
[0198] 제75 양상에서, 양상 74의 방법에 있어서, 제2 형상의 제1 구역은 제1 투명도 값과 연관되고, 제2 형상의 제2 구역은 제2 투명도 값과 연관된다.
[0199] 제76 양상에서, 양상 75의 방법에 있어서, 제2 형상의 제2 구역은 제2 형상의 제1 구역으로부터 더 멀리 떨어져 있고, 제2 투명도 값은 제1 투명도 값보다 작다.
[0200] 제77 양상에서, 양상 75 또는 양상 76의 방법에 있어서, 제2 형상은 제1 형상 내에 있다.
[0201] 제78 양상에서, 양상 75 내지 양상 77 중 어느 한 양상의 방법에 있어서, 동심 형상들 중 제3 형상은 제3 컬러를 갖고, 제3 형상은 제1 형상에 인접한다.
[0202] 제79 양상에서, 양상 78의 방법에 있어서, 제3 컬러는 백색이다.
[0203] 제80 양상에서, 양상 78 또는 양상 79의 방법에 있어서, 제1 형상은 제3 형상 내에 있다.
[0204] 제81 양상에서, 양상 63 내지 양상 80 중 어느 한 양상의 방법에 있어서, UI 이벤트는 가상 UI 디바이스의 복수의 상태들 중 일 상태에 대응한다.
[0205] 제82 양상에서, 양상 81의 방법에 있어서, 복수의 상태들은 가상 UI 디바이스의 활성화 또는 비-활성화를 포함한다.
[0206] 제83 양상에서, 양상 63 내지 양상 82 중 어느 한 양상의 방법에 있어서, 복수의 가상 UI 디바이스들은 버튼, 업다운, 스피너, 피커, 라디오 버튼, 라디오 버튼 리스트, 체크박스, 사진 박스, 체크박스 리스트, 드롭다운 리스트, 드롭다운 메뉴, 선택 리스트, 리스트 박스, 콤보 박스, 텍스트박스, 슬라이더, 링크, 키보드 키, 스위치, 슬라이더, 터치 표면, 또는 이들의 조합을 포함한다.
[0207] 제84 양상에서, 양상 63 내지 양상 83 중 어느 한 양상의 방법에 있어서, 복수의 UI 포인터들은 사용자 또는 사용자의 일부와 연관된 물체를 포함한다.
[0208] 제85 양상에서, 양상 84의 방법에 있어서, 사용자와 연관된 물체는 포인터, 펜, 펜슬, 마커, 하이라이터, 또는 이들의 조합을 포함하고, 사용자의 일부는 사용자의 손가락을 포함한다.
부가적인 고려사항들
[0209] 본 명세서에 설명되고 그리고/또는 첨부 도면들에 묘사된 프로세스들, 방법들, 및 알고리즘들 각각은 하나 이상의 물리적 컴퓨팅 시스템들, 하드웨어 컴퓨터 프로세서들, 주문형 회로망, 및/또는 특정한 그리고 특별한 컴퓨터 명령들을 실행하도록 구성된 전자 하드웨어에 의해 실행되는 코드 모듈들로 구현되고 그리고 그 코드 모듈들에 의해 완전히 또는 부분적으로 자동화될 수 있다. 예컨대, 컴퓨팅 시스템들은 특정 컴퓨터 명령들 또는 특수 목적 컴퓨터들, 특수 목적 회로망 등으로 프로그래밍된 범용 컴퓨터들(예컨대, 서버들)을 포함할 수 있다. 코드 모듈은 동적 링크 라이브러리에 설치되는 실행가능 프로그램으로 컴파일링되고 그에 링크될 수 있거나, 또는 해석형 프로그래밍 언어로 쓰여질 수 있다. 일부 구현들에서, 특정한 동작들 및 방법들은 주어진 기능에 특정적인 회로망에 의해 수행될 수 있다.
[0210] 추가로, 본 개시내용의 기능성의 특정한 구현들은 충분히 수학적으로, 계산적으로, 또는 기술적으로 복잡하여, (적절한 특수화된 실행가능한 명령들을 활용하는) 주문형 하드웨어 또는 하나 이상의 물리적 컴퓨팅 디바이스들은, 예컨대, 수반되는 계산들의 볼륨 또는 복잡성으로 인해 또는 실질적으로 실시간으로 결과들을 제공하기 위해 기능성을 수행할 필요가 있을 수 있다. 예컨대, 비디오는 많은 프레임들(각각의 프레임은 수백만 개의 픽셀들을 가짐)을 포함할 수 있으며, 특별하게 프로그래밍된 컴퓨터 하드웨어는 상업적으로 합리적인 시간량에서 원하는 이미지 프로세싱 태스크 또는 애플리케이션을 제공하도록 비디오 데이터를 프로세싱할 필요가 있다. 부가적으로, 뉴럴 네트워크를 트레이닝시키고 실행하는 것은 계산상 난제일 수 있다. 일부 경우들에서, 뉴럴 네트워크는 하나 이상의 그래픽 프로세싱 유닛(GPU)들에 의해 실행된다.
[0211] 코드 모듈들 또는 임의의 타입의 데이터는 임의의 타입의 비-일시적인 컴퓨터-판독가능한 매체, 이를테면, 하드 드라이브들, 솔리드 스테이트 메모리, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 광학 디스크, 휘발성 또는 비-휘발성 저장부, 이들의 조합들 등을 포함하는 물리적 컴퓨터 저장부 상에 저장될 수 있다. 방법들 및 모듈들(또는 데이터)은 또한, 생성된 데이터 신호들로서(예컨대, 반송파 또는 다른 아날로그 또는 디지털 전파 신호의 부분으로서), 무선-기반 및 유선/케이블-기반 매체들을 포함하는 다양한 컴퓨터-판독가능한 송신 매체들 상에서 송신될 수 있고, 그리고 (예컨대, 단일 또는 멀티플렉싱된 아날로그 신호의 부분으로서, 또는 다수의 이산 디지털 패킷들 또는 프레임들로서) 다양한 형태들을 취할 수 있다. 개시된 프로세스들 또는 프로세스 단계들의 결과들은 임의의 타입의 비-일시적인 유형의 컴퓨터 저장부에 영구적으로 또는 다른 방식으로 저장될 수 있거나 또는 컴퓨터-판독가능한 송신 매체를 통해 통신될 수 있다.
[0212] 본 명세서에 설명되고 그리고/또는 첨부 도면들에 묘사된 흐름도들 내의 임의의 프로세스들, 블록들, 상태들, 단계들, 또는 기능성들은 (예컨대, 논리적이거나 산술적인) 특정 기능들 또는 프로세스의 단계들을 구현하기 위한 하나 이상의 실행가능한 명령들을 포함하는 코드 모듈들, 세그먼트들 또는 코드의 일부들을 잠재적으로 표현하는 것으로 이해되어야 한다. 다양한 프로세스들, 블록들, 상태들, 단계들 또는 기능성들은 조합되거나, 재배열되거나, 본 명세서에서 제공된 예시적인 예들에 추가되거나, 그 예들로부터 삭제되거나, 수정되거나, 또는 그렇지 않으면 그 예들로부터 변화될 수 있다. 일부 실시예들에서, 부가적인 또는 상이한 컴퓨팅 시스템들 또는 코드 모듈들은 본 명세서에 설명된 기능성들 중 일부 또는 전부를 수행할 수 있다. 본 명세서에 설명된 방법들 및 프로세스들은 또한, 임의의 특정 시퀀스로 제한되지 않으며, 이에 관련된 블록들, 단계들 또는 상태들은 적절한 다른 시퀀스들로, 예컨대 직렬로, 병렬로, 또는 일부 다른 방식으로 수행될 수 있다. 태스크들 또는 이벤트들은 개시된 예시적인 실시예들에 추가되거나 또는 이들로부터 제거될 수 있다. 게다가, 본 명세서에 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 예시의 목적들을 위한 것이고 모든 구현들에서 그러한 분리를 요구하는 것으로 이해되지 않아야 한다. 설명된 프로그램 컴포넌트들, 방법들 및 시스템들이 일반적으로 단일 컴퓨터 제품으로 함께 통합되거나 다수의 컴퓨터 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 많은 구현 변동들이 가능하다.
[0213] 프로세스들, 방법들, 및 시스템들은 네트워크(또는 분산형) 컴퓨팅 환경에서 구현될 수 있다. 네트워크 환경들은 전사적(enterprise-wide) 컴퓨터 네트워크들, 인트라넷들, 로컬 영역 네트워크들(LAN), 광역 네트워크들(WAN), 개인 영역 네트워크들(PAN), 클라우드 컴퓨팅 네트워크들, 크라우드-소스(crowd-sourced) 컴퓨팅 네트워크들, 인터넷, 및 월드 와이드 웹(World Wide Web)을 포함한다. 네트워크는 유선 또는 무선 네트워크 또는 임의의 다른 타입의 통신 네트워크일 수 있다.
[0214] 본 개시내용의 시스템들 및 방법들 각각은 수 개의 혁신적인 양상들을 가지며, 이 양상들 중 어떤 단일의 양상도 본 명세서에 개시된 바람직한 속성들에 대해 단독으로 담당하거나 요구되지 않는다. 본 명세서에 설명된 다양한 특징들 및 프로세스들은 서로 독립적으로 사용될 수 있거나, 또는 다양한 방식들로 조합될 수 있다. 모든 가능한 조합들 및 하위조합들은 본 개시내용의 범위 내에 있도록 의도된다. 본 개시내용에 설명된 구현들에 대한 다양한 변형들은 당업자들에게 쉽게 자명할 수 있으며, 본 명세서에 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위를 벗어나지 않으면서 다른 구현들에 적용될 수 있다. 따라서, 청구항들은 본 명세서에 설명된 구현들로 제한되도록 의도되는 것이 아니라, 본 명세서에 개시된 본 개시내용, 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위에 부합할 것이다.
[0215] 별개의 구현들의 맥락으로 본 명세서에 설명된 특정한 특징들은 또한, 단일 구현의 조합으로 구현될 수 있다. 반대로, 단일 구현의 맥락으로 설명된 다양한 특징들은 또한, 다수의 구현들에서 별개로 또는 임의의 적합한 하위조합으로 구현될 수 있다. 게다가, 특징들이 특정한 조합들에서 동작하는 것으로 위에서 설명되고 심지어 초기에는 그와 같이 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서, 그 조합으로부터 삭제될 수 있으며, 청구된 조합은 하위조합 또는 하위조합의 변경에 관한 것일 수 있다. 어떤 단일 특징 또는 특징들의 그룹도 각각의 모든 실시예에 필요하거나 필수적인 것은 아니다.
[0216] 구체적으로 다르게 언급되지 않거나, 사용된 맥락 내에서 다르게 이해되지 않는 한, 본 명세서에서 사용된 조건어, 이를테면, 특히, "할 수 있다" 및 "예컨대" 등은 일반적으로, 특정한 실시예들이 특정한 특징들, 엘리먼트들 및/또는 단계들을 포함하지만, 다른 실시예들은 이들을 포함하지 않는다는 것을 전달하도록 의도된다. 따라서, 그러한 조건어는 일반적으로, 특징들, 엘리먼트들 및/또는 단계들이 어쨌든 하나 이상의 실시예들을 위해 요구된다는 것, 또는 하나 이상의 실시예들이, 저자 입력 또는 촉구를 사용하여 또는 이들을 사용하지 않고, 이들 특징들, 엘리먼트들 및/또는 단계들이 임의의 특정한 실시예에 포함되는지 아니면 이 임의의 특정 실시예에서 수행되는지를 판단하기 위한 로직을 반드시 포함한다는 것을 암시하도록 의도되지 않는다. "포함하는", "구비하는", "갖는" 등의 용어들은 동의어이고, 오픈-엔디드(open-ended) 방식으로 포괄적으로 사용되며, 부가적인 엘리먼트들, 특징들, 행위들, 동작들 등을 배제하지 않는다. 또한, "또는"이라는 용어는 그의 포괄적인 의미(및 이의 배타적 의미가 아님)로 사용되어, 예컨대 엘리먼트들의 리스트를 연결하기 위해 사용될 때, "또는"이라는 용어는 리스트 내 엘리먼트들 중 하나, 일부 또는 전부를 의미한다. 부가적으로, 본 출원 및 첨부된 청구항들에서 사용된 단수 표현들은 다르게 특정되지 않는 한 "하나 이상" 또는 "적어도 하나"를 의미하는 것으로 해석될 것이다.
[0217] 본 명세서에서 사용된 바와 같이, 일 리스트의 아이템들 "중 적어도 하나"를 지칭하는 어구는 단일 멤버들을 포함하여 그 아이템들의 임의의 조합을 지칭한다. 일 예로서, "A, B 또는 C 중 적어도 하나"는: A, B, C, A 및 B, A 및 C, B 및 C, 및 A, B 및 C를 커버하도록 의도된다. 구체적으로 다르게 언급되지 않는 한, "X, Y 및 Z 중 적어도 하나"라는 어구와 같은 연결어는, 일반적으로 아이템, 용어 등이 X, Y 또는 Z 중 적어도 하나일 수 있다는 것을 전달하기 위해 사용되는 맥락으로 달리 이해된다. 따라서, 그러한 연결어는 일반적으로, 특정한 실시예들이 X 중 적어도 하나, Y 중 적어도 하나 및 Z 중 적어도 하나가 각각 존재할 것을 요구한다는 것을 암시하도록 의도되지 않는다.
[0218] 유사하게, 동작들이 특정한 순서로 도면들에 묘사될 수 있지만, 원하는 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정한 순서 또는 순차적 순서로 수행될 필요가 없거나, 또는 모든 예시된 동작들이 수행될 필요가 없다는 것이 인식되어야 한다. 추가로, 도면들은 흐름도의 형태로 하나 이상의 예시적인 프로세스들을 개략적으로 묘사할 수 있다. 그러나, 묘사되지 않은 다른 동작들은 개략적으로 예시된 예시적인 방법들 및 프로세스들에 통합될 수 있다. 예컨대, 하나 이상의 부가적인 동작들은, 예시된 동작들 중 임의의 동작들 이전에, 그들 이후에, 그들과 동시에, 또는 그들 사이에서 수행될 수 있다. 부가적으로, 동작들은 다른 구현들에서 재배열되거나 재정렬될 수 있다. 특정한 환경들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 게다가, 위에서 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 그러한 분리를 요구하는 것으로서 이해되지는 않아야 하며, 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로, 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있음을 이해해야 한다. 부가적으로, 다른 구현들은 다음의 청구항들의 범위 내에 있다. 일부 경우들에서, 청구항들에서 언급된 액션들은, 상이한 순서로 수행될 수 있으며, 여전히 바람직한 결과들을 달성할 수 있다.

Claims (20)

  1. 사용자 인터페이스 이벤트를 결정하기 위해 뉴럴 네트워크를 트레이닝시키기 위한 시스템으로서,
    실행가능 명령들을 저장한 컴퓨터-판독가능한 메모리; 및
    하나 이상의 프로세서들을 포함하며,
    상기 하나 이상의 프로세서들은, 적어도,
    복수의 이미지들을 수신하고 ― 상기 복수의 이미지들 중 일 이미지는 복수의 포인터들 중 일 포인터를 포함하고, 상기 이미지는 상기 이미지 상의 복수의 가상 사용자 인터페이스(UI) 디바이스들 중 일 가상 UI 디바이스와 연관되며, 상기 이미지는 상기 이미지 내의 상기 포인터 및 상기 가상 UI 디바이스에 대한 복수의 UI 이벤트들 중 일 UI 이벤트와 연관됨 ―;
    트레이닝 이미지를 생성하기 위해 상기 이미지 상으로 상기 가상 UI 디바이스의 표현을 렌더링하고;
    입력 데이터 및 대응하는 타겟 출력 데이터를 포함하는 트레이닝 세트를 생성하며 ― 상기 입력 데이터는 상기 트레이닝 이미지를 포함하고, 상기 대응하는 타겟 출력 데이터는 상기 UI 이벤트를 포함함 ―; 그리고
    상기 트레이닝 세트를 사용하여, 상기 가상 UI 디바이스 및 상기 포인터와 연관된 UI 이벤트를 결정하기 위해 뉴럴 네트워크를 트레이닝시키도록
    실행가능 명령들에 의해 프로그래밍되는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  2. 제1항에 있어서,
    상기 가상 UI 디바이스의 표현은 콘트라스트 차이들을 갖는 복수의 형상들을 포함하는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  3. 제2항에 있어서,
    상기 콘트라스트 차이들을 갖는 복수의 형상들은 콘트라스트 차이들을 갖는 복수의 동심 형상들을 포함하는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  4. 제2항에 있어서,
    상기 복수의 형상들의 형상 무게 중심들은 서로 임계 거리 내에 있는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  5. 제4항에 있어서,
    상기 임계 거리는 0인, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  6. 제2항에 있어서,
    상기 복수의 형상들 중 제1 형상은 제1 컬러와 연관되고,
    상기 복수의 형상들 중 제2 형상은 제2 컬러와 연관되며, 그리고
    상기 제1 형상은 상기 제2 형상과 접촉하는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  7. 제6항에 있어서,
    상기 제1 컬러는 흑색이고, 상기 제2 컬러는 백색인, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  8. 제6항에 있어서,
    상기 제2 형상은 부분적으로 투명한, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  9. 제8항에 있어서,
    상기 제2 형상의 제1 구역은 제1 투명도 값과 연관되고, 그리고
    상기 제2 형상의 제2 구역은 제2 투명도 값과 연관되는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  10. 제9항에 있어서,
    상기 제2 형상의 상기 제2 구역은 상기 제2 형상의 상기 제1 구역보다 상기 제1 형상으로부터 더 멀리 떨어져 있고, 그리고
    상기 제2 투명도 값은 상기 제1 투명도 값보다 작은, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  11. 제6항에 있어서,
    상기 제2 형상은 상기 제1 형상 내에 있는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  12. 제6항에 있어서,
    상기 복수의 형상들 중 제3 형상은 제3 컬러를 갖고, 그리고
    상기 제1 형상은 상기 제3 형상과 접촉하는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  13. 제12항에 있어서,
    상기 제3 컬러는 백색인, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  14. 제12항에 있어서,
    상기 제1 형상은 상기 제3 형상 내에 있는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  15. 제1항에 있어서,
    상기 UI 이벤트는 상기 가상 UI 디바이스의 복수의 상태들 중 일 상태에 대응하는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  16. 제15항에 있어서,
    상기 복수의 상태들은 상기 가상 UI 디바이스의 활성화 또는 비-활성화를 포함하는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  17. 제1항에 있어서,
    상기 복수의 가상 UI 디바이스들은, 버튼, 업다운, 스피너, 피커, 라디오 버튼, 라디오 버튼 리스트, 체크박스, 사진 박스, 체크박스 리스트, 드롭다운 리스트, 드롭다운 메뉴, 선택 리스트, 리스트 박스, 콤보 박스, 텍스트박스, 슬라이더, 링크, 키보드 키, 스위치, 슬라이더, 터치 표면, 또는 이들의 조합을 포함하는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  18. 제1항에 있어서,
    복수의 UI 포인터들은 사용자 또는 상기 사용자의 일부와 연관된 물체를 포함하는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  19. 제18항에 있어서,
    상기 사용자와 연관된 상기 물체는 포인터, 펜, 펜슬, 마커, 하이라이터, 또는 이들의 조합을 포함하고, 그리고
    상기 사용자의 일부는 상기 사용자의 손가락을 포함하는, 뉴럴 네트워크를 트레이닝시키기 위한 시스템.
  20. 사용자 인터페이스 이벤트를 결정하기 위해 뉴럴 네트워크를 트레이닝시키기 위한 방법으로서,
    하드웨어 프로세서의 제어 하에서:
    복수의 이미지들을 수신하는 단계 ― 상기 복수의 이미지들 중 제1 이미지는 복수의 포인터들 중 일 포인터의 제1 표현을 포함하고, 상기 제1 이미지는 상기 제1 이미지 내의 복수의 가상 사용자 인터페이스(UI) 디바이스들 중 일 가상 UI 디바이스의 제1 표현과 연관되며, 상기 제1 이미지는 상기 제1 이미지 내의 상기 포인터 및 상기 가상 UI 디바이스에 대한 복수의 UI 이벤트들 중 일 UI 이벤트와 연관됨 ―;
    제1 트레이닝 이미지를 생성하기 위해 상기 제1 이미지 상으로 상기 가상 UI 디바이스의 제1 표현을 렌더링하는 단계;
    입력 데이터 및 대응하는 타겟 출력 데이터를 포함하는 트레이닝 세트를 생성하는 단계 ― 상기 입력 데이터는 상기 제1 트레이닝 이미지를 포함하고, 상기 대응하는 타겟 출력 데이터는 상기 UI 이벤트를 포함함 ―; 및
    상기 트레이닝 세트를 사용하여, 상기 가상 UI 디바이스 및 상기 포인터와 연관된 UI 이벤트를 결정하기 위해 뉴럴 네트워크를 트레이닝시키는 단계
    를 포함하는, 뉴럴 네트워크를 트레이닝시키기 위한 방법.
KR1020227006137A 2017-07-26 2018-05-31 사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝 KR102666475B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762537311P 2017-07-26 2017-07-26
US62/537,311 2017-07-26
KR1020207004284A KR102368661B1 (ko) 2017-07-26 2018-05-31 사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝
PCT/US2018/035467 WO2019022849A1 (en) 2017-07-26 2018-05-31 FORMATION OF A NEURONAL NETWORK WITH REPRESENTATIONS OF USER INTERFACE DEVICES

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207004284A Division KR102368661B1 (ko) 2017-07-26 2018-05-31 사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝

Publications (2)

Publication Number Publication Date
KR20220030315A KR20220030315A (ko) 2022-03-10
KR102666475B1 true KR102666475B1 (ko) 2024-05-21

Family

ID=65041323

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207004284A KR102368661B1 (ko) 2017-07-26 2018-05-31 사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝
KR1020227006137A KR102666475B1 (ko) 2017-07-26 2018-05-31 사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207004284A KR102368661B1 (ko) 2017-07-26 2018-05-31 사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝

Country Status (9)

Country Link
US (3) US10922583B2 (ko)
EP (1) EP3659017B1 (ko)
JP (2) JP7149300B2 (ko)
KR (2) KR102368661B1 (ko)
CN (1) CN110914790A (ko)
AU (1) AU2018308418A1 (ko)
CA (1) CA3068448A1 (ko)
IL (2) IL271929B (ko)
WO (1) WO2019022849A1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017068926A1 (ja) * 2015-10-21 2017-04-27 ソニー株式会社 情報処理装置及びその制御方法、並びにコンピュータ・プログラム
US10452974B1 (en) 2016-11-02 2019-10-22 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using a device's circumstances for autonomous device operation
AU2017370555B2 (en) 2016-12-05 2022-12-15 Magic Leap, Inc. Virtual user input controls in a mixed reality environment
US10607134B1 (en) 2016-12-19 2020-03-31 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using an avatar's circumstances for autonomous avatar operation
CA3068448A1 (en) 2017-07-26 2019-01-31 Magic Leap, Inc. Training a neural network with representations of user interface devices
US11249714B2 (en) 2017-09-13 2022-02-15 Magical Technologies, Llc Systems and methods of shareable virtual objects and virtual objects as message objects to facilitate communications sessions in an augmented reality environment
US11861136B1 (en) * 2017-09-29 2024-01-02 Apple Inc. Systems, methods, and graphical user interfaces for interacting with virtual reality environments
WO2019079826A1 (en) 2017-10-22 2019-04-25 Magical Technologies, Llc DIGITAL ASSISTANT SYSTEMS, METHODS AND APPARATUSES IN AN INCREASED REALITY ENVIRONMENT AND LOCAL DETERMINATION OF VIRTUAL OBJECT PLACEMENT AND SINGLE OR MULTIDIRECTIONAL OBJECTIVES AS GATEWAYS BETWEEN A PHYSICAL WORLD AND A DIGITAL WORLD COMPONENT OF THE SAME ENVIRONMENT OF INCREASED REALITY
US10474934B1 (en) * 2017-11-26 2019-11-12 Jasmin Cosic Machine learning for computing enabled systems and/or devices
US11113887B2 (en) * 2018-01-08 2021-09-07 Verizon Patent And Licensing Inc Generating three-dimensional content from two-dimensional images
US11398088B2 (en) 2018-01-30 2022-07-26 Magical Technologies, Llc Systems, methods and apparatuses to generate a fingerprint of a physical location for placement of virtual objects
US10706584B1 (en) * 2018-05-18 2020-07-07 Facebook Technologies, Llc Hand tracking using a passive camera system
US11651559B2 (en) * 2018-06-01 2023-05-16 Siemens Aktiengesellschaft Augmented reality method for simulating wireless signal, and apparatus
US20190385372A1 (en) * 2018-06-15 2019-12-19 Microsoft Technology Licensing, Llc Positioning a virtual reality passthrough region at a known distance
US10725629B2 (en) * 2018-06-25 2020-07-28 Google Llc Identifying and controlling smart devices
WO2020030156A1 (zh) * 2018-08-10 2020-02-13 广东虚拟现实科技有限公司 图像处理方法、终端设备及计算机可读介质
US10567743B1 (en) * 2018-09-24 2020-02-18 Cae Inc. See-through based display method and system for simulators
US10567744B1 (en) * 2018-09-24 2020-02-18 Cae Inc. Camera-based display method and system for simulators
JP2022521360A (ja) * 2019-02-18 2022-04-06 アーク リソー ホールディングス, エルエルシー ポインティングコントローラを使用したスマートデバイスとの相互作用
US11467656B2 (en) * 2019-03-04 2022-10-11 Magical Technologies, Llc Virtual object control of a physical device and/or physical device control of a virtual object
KR102211762B1 (ko) * 2019-04-02 2021-02-04 네이버웹툰 유한회사 딥러닝 기반 컬러링 방법, 시스템 및 프로그램
US10620713B1 (en) * 2019-06-05 2020-04-14 NEX Team Inc. Methods and systems for touchless control with a mobile device
US20200397345A1 (en) * 2019-06-19 2020-12-24 University Of Southern California Human activity recognition using magnetic induction-based motion signals and deep recurrent neural networks
US11797876B1 (en) * 2019-06-26 2023-10-24 Amazon Technologies, Inc Unified optimization for convolutional neural network model inference on integrated graphics processing units
US10942585B2 (en) * 2019-07-22 2021-03-09 Zspace, Inc. Trackability enhancement of a passive stylus
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
US20210358294A1 (en) * 2020-05-15 2021-11-18 Microsoft Technology Licensing, Llc Holographic device control
US11782733B2 (en) 2020-10-14 2023-10-10 UiPath, Inc. Training an artificial intelligence / machine learning model to recognize applications, screens, and user interface elements using computer vision
US11914835B2 (en) * 2020-11-16 2024-02-27 Samsung Electronics Co., Ltd. Method for displaying user interface and electronic device therefor
CN112633284B (zh) * 2020-12-08 2023-08-15 北京信息科技大学 一种深度学习手写数字识别方法
JP2022186023A (ja) * 2021-06-04 2022-12-15 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法およびプログラム
US11483642B1 (en) * 2021-07-27 2022-10-25 KaiKuTek Inc. Earphone device having gesture recognition functions
WO2023004509A1 (en) * 2021-07-28 2023-02-02 11089161 Canada Inc. (Dba: Looksgoodai) Method and system for automatic formatting of presentation slides
US20230053464A1 (en) * 2021-08-19 2023-02-23 Data-Core Systems, Inc. Systems, Methods, and Devices for Automatically Converting Explanation of Benefits (EOB) Printable Documents into Electronic Format using Artificial Intelligence Techniques
US12008331B2 (en) * 2021-12-23 2024-06-11 Microsoft Technology Licensing, Llc Utilizing visual and textual aspects of images with recommendation systems
US20230410441A1 (en) * 2022-06-21 2023-12-21 Snap Inc. Generating user interfaces displaying augmented reality graphics
GB2621112A (en) * 2022-07-25 2024-02-07 Sony Interactive Entertainment Europe Ltd Identifying devices in a mixed-reality environment
US12026325B2 (en) 2022-08-17 2024-07-02 Apple Inc. Handheld input devices with sleeves
WO2024043765A1 (ko) * 2022-08-25 2024-02-29 삼성전자 주식회사 Hmd(head mounted display) 장치에서 가상키보드를 표시하는 방법 및 장치
CN116991298B (zh) * 2023-09-27 2023-11-28 子亥科技(成都)有限公司 一种基于对抗神经网络的虚拟镜头控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160328021A1 (en) 2014-01-27 2016-11-10 Lg Electronics Inc. Terminal of eye-glass type and method for controlling terminal of eye-glass type

Family Cites Families (111)

* 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
JPH10200971A (ja) 1997-01-13 1998-07-31 Mitsubishi Electric Corp パーソナルコンピュータによるワイヤレスリモコンの信号発生装置
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
DE60332328D1 (de) 2002-03-13 2010-06-10 Imax Corp Systeme und verfahren für ein digitales remastering oder anderweitiges modifizieren von beweglichen bildern oder anderen bildsequenzdaten
US8098901B2 (en) 2005-01-26 2012-01-17 Honeywell International Inc. Standoff iris recognition system
KR20050025927A (ko) 2003-09-08 2005-03-14 유웅덕 홍채인식을 위한 동공 검출 방법 및 형상기술자 추출방법과 그를 이용한 홍채 특징 추출 장치 및 그 방법과홍채인식 시스템 및 그 방법
USD514570S1 (en) 2004-06-24 2006-02-07 Microsoft Corporation Region of a fingerprint scanning device with an illuminated ring
US7248720B2 (en) 2004-10-21 2007-07-24 Retica Systems, Inc. Method and system for generating a combined retina/iris pattern biometric
JP2006146803A (ja) 2004-11-24 2006-06-08 Olympus Corp 操作装置及び遠隔操作システム
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
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
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
KR100927009B1 (ko) 2008-02-04 2009-11-16 광주과학기술원 증강 현실에서의 햅틱 상호 작용 방법 및 그 시스템
WO2010003044A2 (en) 2008-07-03 2010-01-07 Nec Laboratories America, Inc. Epithelial layer detector and related methods
US20100131947A1 (en) 2008-11-24 2010-05-27 Disney Enterprises, Inc. System and method for enabling a local user of a real-life simulation environment to interact with a remote user of a corresponding virtual environment
JP5262681B2 (ja) 2008-12-22 2013-08-14 ブラザー工業株式会社 ヘッドマウントディスプレイ及びそのプログラム
US8768014B2 (en) 2009-01-14 2014-07-01 Indiana University Research And Technology Corp. System and method for identifying a person with reference to a sclera image
CN104997587B (zh) 2010-01-22 2017-12-01 眼科医疗公司 用于自动放置扫描激光撕囊切口的装置
US8345984B2 (en) 2010-01-28 2013-01-01 Nec Laboratories America, Inc. 3D convolutional neural networks for automatic human action recognition
US20150309316A1 (en) 2011-04-06 2015-10-29 Microsoft Technology Licensing, Llc Ar glasses with predictive control of external device based on event input
JP5743416B2 (ja) 2010-03-29 2015-07-01 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP5257437B2 (ja) 2010-10-20 2013-08-07 コニカミノルタビジネステクノロジーズ株式会社 携帯端末及び処理装置の操作方法
US8683086B2 (en) 2010-11-17 2014-03-25 Flextronics Ap, Llc. Universal remote control with automated setup
US9304319B2 (en) 2010-11-18 2016-04-05 Microsoft Technology Licensing, Llc Automatic focus improvement for augmented reality displays
AU2011348122A1 (en) 2010-12-24 2013-07-11 Magic Leap Inc. An ergonomic head mounted display device and optical system
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
CA3035118C (en) 2011-05-06 2022-01-04 Magic Leap, Inc. Massive simultaneous remote digital presence world
JP5765133B2 (ja) 2011-08-16 2015-08-19 富士通株式会社 入力装置、入力制御方法及び入力制御プログラム
WO2013049861A1 (en) 2011-09-29 2013-04-04 Magic Leap, Inc. Tactile glove for human-computer interaction
US20130104085A1 (en) 2011-10-21 2013-04-25 Digital Artforms, Inc. Systems and methods for human-computer interaction using a two handed interface
RU2621633C2 (ru) 2011-10-28 2017-06-06 Мэджик Лип, Инк. Система и способ для дополненной и виртуальной реальности
KR102440195B1 (ko) 2011-11-23 2022-09-02 매직 립, 인코포레이티드 3차원 가상 및 증강 현실 디스플레이 시스템
US20130147686A1 (en) 2011-12-12 2013-06-13 John Clavin Connecting Head Mounted Displays To External Displays And Other Communication Networks
JP2013172432A (ja) 2012-02-23 2013-09-02 Panasonic Corp 機器制御装置、機器制御方法、機器制御プログラム、及び集積回路
WO2013145223A1 (ja) 2012-03-29 2013-10-03 パイオニア株式会社 画像認識装置、画像認識方法、画像認識プログラム、及び記録媒体
CN103369480B (zh) 2012-03-30 2019-01-18 中兴通讯股份有限公司 分组域短信的实现方法、系统和用户设备
KR102022719B1 (ko) 2012-04-05 2019-11-05 매직 립, 인코포레이티드 능동 포비에이션 능력을 갖는 와이드-fov(field of view) 이미지 디바이스들
AU2013274359B2 (en) 2012-06-11 2017-05-25 Magic Leap, Inc. Multiple depth plane three-dimensional display using a wave guide reflector array projector
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US9141916B1 (en) 2012-06-29 2015-09-22 Google Inc. Using embedding functions with a deep network
KR101506525B1 (ko) 2012-07-31 2015-03-27 도꾸리쯔교세이호징 가가꾸 기쥬쯔 신꼬 기꼬 주시점 검출 장치, 주시점 검출 방법, 개인 파라미터 산출 장치, 개인 파라미터 산출 방법, 프로그램, 및 컴퓨터 판독 가능한 기록 매체
US8369595B1 (en) 2012-08-10 2013-02-05 EyeVerify LLC Texture features for biometric authentication
US9329678B2 (en) 2012-08-14 2016-05-03 Microsoft Technology Licensing, Llc Augmented reality overlay for control devices
CN104813218A (zh) 2012-09-11 2015-07-29 奇跃公司 人机工程学的头戴显示设备和光学系统
US20140152558A1 (en) * 2012-11-30 2014-06-05 Tom Salter Direct hologram manipulation using imu
WO2014106823A2 (en) * 2013-01-03 2014-07-10 Meta Company Extramissive spatial imaging digital eye glass apparatuses, methods and systems for virtual or augmediated vision, manipulation, creation, or interaction with objects, materials, or other entities
KR102274413B1 (ko) 2013-01-15 2021-07-07 매직 립, 인코포레이티드 초고해상도 스캐닝 섬유 디스플레이
JP6127564B2 (ja) 2013-02-15 2017-05-17 コニカミノルタ株式会社 タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム
IL298018B2 (en) 2013-03-11 2024-04-01 Magic Leap Inc System and method for augmentation and virtual reality
US9147154B2 (en) 2013-03-13 2015-09-29 Google Inc. Classifying resources using a deep network
EP2973532A4 (en) 2013-03-15 2017-01-18 Magic Leap, Inc. Display system and method
JP6165485B2 (ja) 2013-03-28 2017-07-19 国立大学法人埼玉大学 携帯端末向けarジェスチャユーザインタフェースシステム
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
US9874749B2 (en) 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US20140380249A1 (en) 2013-06-25 2014-12-25 Apple Inc. Visual recognition of gestures
CN103431840B (zh) 2013-07-31 2016-01-20 北京智谷睿拓技术服务有限公司 眼睛光学参数检测系统及方法
IL295157B2 (en) 2013-10-16 2023-10-01 Magic Leap Inc An augmented or virtual reality head device with intrapupillary distance adjustment
US9202144B2 (en) 2013-10-30 2015-12-01 Nec Laboratories America, Inc. Regionlets with shift invariant neural patterns for object detection
US10095917B2 (en) 2013-11-04 2018-10-09 Facebook, Inc. Systems and methods for facial representation
JP6236296B2 (ja) 2013-11-14 2017-11-22 株式会社デンソーアイティーラボラトリ 学習装置、学習プログラム、及び学習方法
AU2014354673B2 (en) 2013-11-27 2019-04-11 Magic Leap, Inc. Virtual and augmented reality systems and methods
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
CN104750234B (zh) 2013-12-27 2018-12-21 中芯国际集成电路制造(北京)有限公司 可穿戴智能设备及可穿戴智能设备的互动方法
US9430829B2 (en) 2014-01-30 2016-08-30 Case Western Reserve University Automatic detection of mitosis using handcrafted and convolutional neural network features
JP6509883B2 (ja) 2014-01-31 2019-05-08 マジック リープ, インコーポレイテッドMagic Leap,Inc. 多焦点表示システムおよび方法
CA3089749A1 (en) 2014-01-31 2015-08-06 Magic Leap, Inc. Multi-focal display system and method
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
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
US9766715B2 (en) 2014-05-01 2017-09-19 Seiko Epson Corporation Head-mount type display device, control system, method of controlling head-mount type display device, and computer program
JP6500477B2 (ja) 2015-02-12 2019-04-17 セイコーエプソン株式会社 頭部装着型表示装置、制御システム、頭部装着型表示装置の制御方法、および、コンピュータープログラム
KR102173699B1 (ko) 2014-05-09 2020-11-03 아이플루언스, 인크. 안구 신호들의 인식 및 지속적인 생체 인증을 위한 시스템과 방법들
USD759657S1 (en) 2014-05-19 2016-06-21 Microsoft Corporation Connector with illumination region
WO2015184413A1 (en) 2014-05-30 2015-12-03 Magic Leap, Inc. Methods and systems for generating virtual content display with a virtual or augmented reality apparatus
USD752529S1 (en) 2014-06-09 2016-03-29 Comcast Cable Communications, Llc Electronic housing with illuminated region
US9766806B2 (en) 2014-07-15 2017-09-19 Microsoft Technology Licensing, Llc Holographic keyboard display
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
US20160078359A1 (en) 2014-09-12 2016-03-17 Xerox Corporation System for domain adaptation with a domain-specific class means classifier
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
EP3204888A4 (en) 2014-10-09 2017-10-04 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
US9900541B2 (en) 2014-12-03 2018-02-20 Vizio Inc Augmented reality remote control
KR102276339B1 (ko) 2014-12-09 2021-07-12 삼성전자주식회사 Cnn의 근사화를 위한 학습 장치 및 방법
JP2016162372A (ja) 2015-03-04 2016-09-05 キヤノン株式会社 情報処理システム及び情報処理方法
US9678664B2 (en) 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding
US10007413B2 (en) 2015-04-27 2018-06-26 Microsoft Technology Licensing, Llc Mixed environment display of attached control elements
USD758367S1 (en) 2015-05-14 2016-06-07 Magic Leap, Inc. Virtual reality headset
CN108135469B (zh) 2015-08-21 2021-03-09 奇跃公司 使用眼睛姿态测量的眼睑形状估计
USD805734S1 (en) 2016-03-04 2017-12-26 Nike, Inc. Shirt
USD794288S1 (en) 2016-03-11 2017-08-15 Nike, Inc. Shoe with illuminable sole light sequence
CN109661194B (zh) 2016-07-14 2022-02-25 奇跃公司 使用角膜曲率的虹膜边界估计
KR102450441B1 (ko) 2016-07-14 2022-09-30 매직 립, 인코포레이티드 홍채 식별을 위한 딥 뉴럴 네트워크
US20180033912A1 (en) 2016-07-28 2018-02-01 Lumileds Llc Iii-p light emitting device with a superlattice
IL281241B (en) 2016-08-22 2022-08-01 Magic Leap Inc An augmented reality display device with deep learning sensors
RU2016138608A (ru) 2016-09-29 2018-03-30 Мэджик Лип, Инк. Нейронная сеть для сегментации изображения глаза и оценки качества изображения
IL281321B (en) 2016-10-04 2022-07-01 Magic Leap Inc Efficient data layouts for convolutional neural networks
US10621747B2 (en) 2016-11-15 2020-04-14 Magic Leap, Inc. Deep learning system for cuboid detection
AU2017370555B2 (en) 2016-12-05 2022-12-15 Magic Leap, Inc. Virtual user input controls in a mixed reality environment
US10803616B1 (en) * 2017-04-13 2020-10-13 Facebook Technologies, Llc Hand calibration using single depth camera
CA3068448A1 (en) 2017-07-26 2019-01-31 Magic Leap, Inc. Training a neural network with representations of user interface devices
US11756291B2 (en) * 2018-12-18 2023-09-12 Slyce Acquisition Inc. Scene and user-input context aided visual search

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160328021A1 (en) 2014-01-27 2016-11-10 Lg Electronics Inc. Terminal of eye-glass type and method for controlling terminal of eye-glass type

Also Published As

Publication number Publication date
JP7149300B2 (ja) 2022-10-06
US10922583B2 (en) 2021-02-16
CN110914790A (zh) 2020-03-24
US11334765B2 (en) 2022-05-17
KR20200034741A (ko) 2020-03-31
US20220245404A1 (en) 2022-08-04
IL271929A (en) 2020-02-27
IL293424A (en) 2022-07-01
EP3659017A4 (en) 2021-06-02
US11630314B2 (en) 2023-04-18
KR20220030315A (ko) 2022-03-10
IL271929B (en) 2022-07-01
KR102368661B1 (ko) 2022-02-28
CA3068448A1 (en) 2019-01-31
EP3659017B1 (en) 2023-04-05
AU2018308418A1 (en) 2020-01-16
JP2022177046A (ja) 2022-11-30
JP7198383B2 (ja) 2022-12-28
EP3659017A1 (en) 2020-06-03
US20210133506A1 (en) 2021-05-06
US20190034765A1 (en) 2019-01-31
WO2019022849A1 (en) 2019-01-31
JP2020528597A (ja) 2020-09-24

Similar Documents

Publication Publication Date Title
KR102666475B1 (ko) 사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝
US10977820B2 (en) Personalized neural network for eye tracking
US11340694B2 (en) Visual aura around field of view
EP3549109B1 (en) Virtual user input controls in a mixed reality environment
EP3436863B1 (en) Interactions with 3d virtual objects using poses and multiple-dof controllers
US12020381B2 (en) Object interactivity in virtual space

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant