KR20230026398A - 근안 디스플레이들에서의 눈 추적 - Google Patents

근안 디스플레이들에서의 눈 추적 Download PDF

Info

Publication number
KR20230026398A
KR20230026398A KR1020237001121A KR20237001121A KR20230026398A KR 20230026398 A KR20230026398 A KR 20230026398A KR 1020237001121 A KR1020237001121 A KR 1020237001121A KR 20237001121 A KR20237001121 A KR 20237001121A KR 20230026398 A KR20230026398 A KR 20230026398A
Authority
KR
South Korea
Prior art keywords
image
feature
deep learning
region
captured image
Prior art date
Application number
KR1020237001121A
Other languages
English (en)
Inventor
에릭 제이. 세이벨
스티븐 엘. 브런튼
첸 공
브라이언 티. 쇼웬게르트
Original Assignee
유니버시티 오브 워싱턴
매직 립, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 유니버시티 오브 워싱턴, 매직 립, 인코포레이티드 filed Critical 유니버시티 오브 워싱턴
Publication of KR20230026398A publication Critical patent/KR20230026398A/ko

Links

Images

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/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • 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
    • 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/0179Display position adjusting means not related to the information to be displayed
    • 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
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • 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/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Ophthalmology & Optometry (AREA)
  • Image Analysis (AREA)
  • Eye Examination Apparatus (AREA)

Abstract

증강 현실 시스템에서 눈의 움직임을 추적하기 위한 기술들은 객체 또는 그 일부의 복수의 베이스 이미지들을 식별한다. 검색 이미지가 복수의 베이스 이미지들 중 적어도 일부에 적어도 부분적으로 기초하여 를 생성될 수 있다. 딥 러닝 결과가 딥 러닝 모델에서 신경망을 사용하여 베이스 이미지에 대해 적어도 딥 러닝 프로세스를 수행하여 생성될 수 있다. 캡처된 이미지가 칼만 필터 모델 및 딥 러닝 결과를 사용하여 캡처된 이미지와 검색 이미지에 대해 적어도 이미지 정합 프로세스를 수행하여 로컬화될 수 있다.

Description

근안 디스플레이들에서의 눈 추적
[0001] 본 개시는 일반적으로 증강 현실 시스템과 같은 근안 디스플레이에서 눈의 움직임을 추적하기 위한 방법들 및 시스템들에 관한 것으로, 더욱 구체적으로 기존의 동공-글린트(glint)- 기반 기술들을 사용하지 않고, 딥 컨벌루션(deep convolution) 신경망을 갖는 딥 러닝 모델로의 망막-기반 추적 및 칼만(Kalman) 필터 모델로의 이미지 정합 프로세스를 사용하여 눈의 움직임을 추적하는 것에 관한 것이다.
[0002] 가상 현실(VR: virtual reality), 증강 현실(AR: augmented reality), 혼합 현실(MR: mixed reality) 및 확장 현실(XR: extended reality) 헤드셋들을 포함하는 공간 컴퓨팅 헤드셋들은 과학적 시각화, 의학 및 군사 훈련, 엔지니어링 설계 및 프로토타이핑, 원격-조작 및 텔레-프레전스(tele-presence) 및 개인용 엔터테인먼트 시스템들의 분야들에 걸쳐 많은 애플리케이션들에 대해 가치 있는 것으로 입증되었다. 공간 컴퓨팅 헤드셋들에서, 가상 들 증강 장면들은 사용자의 눈 앞에서 사용자의 머리에 위치되고 고정될 수 있는 광학 조립체를 통해 사용자에게 표시된다.
[0003] 머리 장착 디스플레이들(HMD: Head Mounted Displays)은 3D 가상 및 증강 환경들의 분야의 광범위한 애플리케이션들에 대해 연구되었다. 정확하고 고속의 눈 추적은 HMD의 핵심 시나리오, 예를 들어, 중심와-의존(fovea-contingent) 디스플레이 스킴들과 사람들에 대한 새로운 상호 작용 인터페이스들을 통한 시야(FOV: field of view) 및 해상도 절충을 가능하게 하는 데 중요하다. HMD에 매립된 눈-추적기들은 침습적 방법들, 예를 들어, 공막 코일과 비침습적 비디오-기반 방법들로 분할될 수 있으며, 후자가 더 일반적이다. 현재 비디오-기반 방법들은 주로 홍채, 동공, 글린트와 같은 안구의 상이한 피처들을 사용하며, 동공-글린트 방법들이 가장 널리 사용된다. 이러한 방법들은 0.5° 내지 1°의 평균 추적 오류를 가지며, 이러한 피처들의 추적 해상도는 대략 픽셀 당 0.7° 내지 1°이다. 추적 해상도를 넘어 정확도를 추가로 개선하는 것은 쉽지 않다.
[0004] 눈 표면의 피처들을 사용하는 것 외에도, 망막 이미지들은 또한 눈-추적 스캐닝 레이저 검안경(SLO: scanning laser ophthalmoscope)들과 같은 의료 분야의 눈-추적에 이용된다. 이들은 작은 FOV 고해상도 이미지들에서 망막 움직임 추정을 위해 스캐닝 왜곡을 활용하지만, 이 기술은 작은 도약 안구 운동(saccade)들을 위해 설계되었으며 HMD에 쉽게 통합되지 않는다. HMD의 망막-기반 눈 추적은 고급 센서들 없이 더 높은 추적 해상도, 선형 시선 추정 모델 및 망막 상의 중심와의 직접적인 로컬화와 같은 그 자체의 이점들을 갖는다. 추가로, 망막 추적은 HMD와 함께 광범위한 의료 애플리케이션들을 제공한다.
[0005] 또한, 객체 인식에 대한 현대적인 접근법들은 머신 러닝 방법들을 필수적으로 사용한다. 그 성능을 개선하기 위해, 일부 실시예들은 더 많은 데이터 세트들을 수집하고, 더 강력한 모델들을 학습하고, 과적합(overfitting)을 방지하기 위해 더 나은 기술들을 사용할 수 있다. 최근까지, 레이블링된 이미지들의 데이터세트들은 수만 개 정도의 이미지들로 상대적으로 적었다. 객체 추적이 기반으로 할 수 있는 간단한 인식 작업들은 특히 레이블-보존 변환들로 보강된 경우 이러한 크기의 데이터세트들로 상당히 잘 해결될 수 있다. 예를 들어, MNIST 디지트(digit)-인식 작업의 현재 최상의 오류 레이트(< 0.3%)는 인간의 성능에 근접한다. 그러나 현실적인 설정들에서의 객체들은 상당한 가변성을 나타내므로, 객체들을 인식하는 것을 학습하기 위해 훨씬 더 큰 훈련 세트들을 사용하는 것이 필요할 수 있다. 작은 이미지 데이터세트들의 단점들은 널리 인식되어 있지만, 수백만 개의 이미지들로 레이블링된 데이터세트들을 수집하는 것이 최근에서야 가능해졌다.
[0006] 수백만 개의 이미지들로부터 수천 개의 객체들을 학습하기 위해서는 큰 러닝 용량을 갖는 모델이 절실히 필요하다. 그럼에도 불구하고, 객체 인식 작업의 엄청난 복잡성은 이 문제가 ImageNet만큼 큰 데이터 세트에 의해서도 특정될 수 없다는 것을 의미하므로, 일부 실시예들에서의 모델은 또한 현대 기술들이 단순히 갖지 않는 모든 데이터를 보상하기 위해 많은 사전 지식을 가져야 한다. 컨벌루션 신경망(CNN: convolutional neural network)들은 이러한 하나의 모델들의 클래스를 구성한다. 그 용량은 깊이와 폭을 변경하여 제어될 수 있으며, 또한 이미지들의 특성(즉, 통계의 정상성 및 픽셀 종속성의 지역성)에 대해 강력하고 대부분 정확한 가정을 한다. 따라서, 유사한 크기의 계층들을 갖는 표준 피드포워드(feedforward) 신경망들과 비교할 때, CNN은 훨씬 더 적은 연결들 및 파라미터들을 가져 훈련하기가 더 쉽지만, 이론적으로 최상의 성능은 단지 약간 떨어질 가능성이 높다.
[0007] CNN들의 매력적인 품질들과 그 로컬 아키텍처의 상대적 효율성에도 불구하고, CNN들은 고해상도 이미지들에 대규모로 적용하기에는 여전히 엄청나게 비싸다.
[0008] 추가로, 시각적 객체 추적은 자동 운전 및 비디오 감시와 같은 컴퓨터 비전의 다양한 작업들에서의 기본 구축 블록이다. 이는 조명, 변형, 폐색 및 모션에 의해 야기되는 큰 외관 변화에서 문제이다. 그 외에, 실제 애플리케이션들에서는 속도도 중요하다.
[0009] 현대의 추적기들은 2 개의 브랜치로 대략 분할될 수 있다. 첫 번째 브랜치는 순환 상관의 특성을 활용하고 푸리에(Fourier) 영역에서 연산을 수행하여 회귀자(regressor)를 훈련시키는 상관 필터에 기초한다. 이는 온라인 추적을 수행하고 필터들의 가중치들을 동시에 효율적으로 업데이트할 수 있다. 원래 버전은 푸리에 영역에서 수행되며 추적 커뮤니티에서 널리 사용된다. 최근의 상관 필터 기반 방법들은 정확도를 개선하기 위해 딥 피처(deep feature)들을 사용하지만, 이는 모델 업데이트 동안 속도에 큰 악영향을 미친다. 방법들의 다른 브랜치는 매우 강력한 딥 피처들을 사용하고 모델을 업데이트하지 않는 것을 목적으로 한다. 그러나, 도메인 특정 정보가 사용되지 않기 때문에, 이러한 방법들의 성능은 상관 필터 기반 방법들만큼 항상 좋지는 않다.
[00010] 본원에 설명되는 다양한 실시예들은 종래의 접근법들의 위에 언급한 과제들 및 단점을 적어도 해결하고 객체의 움직임 비디오들에 기초한 객체 추적을 위한 실시간 로컬화 방법을 제시하며, 여기서 각각의 프레임은 모자이크 검색 이미지 상에 로컬화될 수 있다.
[00011] 일부 실시예들에 따르면, 근안 디스플레이에서 눈의 움직임을 추적하기 위한 방법이 설명된다. 이러한 실시예들에서, 객체 또는 그 일부의 복수의 베이스 이미지들이 식별될 수 있고, 검색 이미지가 복수의 베이스 이미지들 중 적어도 일부에 적어도 부분적으로 기초하여 생성될 수 있고, 딥 러닝(deep learning) 결과가 딥 러닝 모델에서 신경망을 사용하여 베이스 이미지에 대해 적어도 딥 러닝 프로세스를 수행하여 생성될 수 있으며; 캡처된 이미지가 칼만(Kalman) 필터 모델 및 딥 러닝 결과를 사용하여 캡처된 이미지와 검색 이미지에 대해 적어도 이미지 정합(registration) 프로세스를 수행하여 검색 이미지에 로컬화(localizing)될 수 있다.
[00012] 이러한 실시예들 중 일부에서, 객체는 사용자의 망막을 포함하고, 망막의 적어도 일부를 나타내는 캡처된 이미지는 하나 이상의 입력 광 패턴들에 응답하여 동공으로부터의 글린트(glint)를 캡처하는 동공-글린트 기술들을 사용하지 않고 검색 이미지에 대해 로컬화된다.
[00013] 일부 실시예들에서, 딥 러닝 결과를 생성하는 단계는 딥 컨벌루션 신경망(DCNN: deep convolution neural network)을 사용하여 캡처된 이미지의 영역의 피처(feature)를 추출하는 단계를 포함한다. 또한, 피처는 제1 피처 및 제2 피처를 포함하는 복수의 피처들로 변환될 수 있다. 영역은 제1 피처에 적어도 부분적으로 기초하여 포지티브(positive) 영역 또는 네거티브(negative) 영역으로 분류될 수 있다. 회귀 또는 보정이 제2 피처에 적어도 부분적으로 기초하여 영역에 대해 결정될 수 있다.
[00014] 일부 실시예들에서, 딥 러닝 결과를 생성하기 위해, 캡처된 이미지의 영역의 피처가 딥 컨벌루션 신경망(DCNN)을 사용하여 추출될 수 있으며; 피처는 제1 피처 및 제2 피처를 포함하는 복수의 피처들로 변환될 수 있다.
[00015] 직전 실시예들 중 일부에서, 딥 러닝 결과를 생성하기 위해, 제1 응답 맵이 DCNN에서 하나 이상의 컨벌루션 계층들을 사용하여 적어도 제1 피처를 적어도 컨벌빙(convolving)함으로써 생성될 수 있으며; 영역은 제1 응답 맵에 적어도 부분적으로 기초하여 포지티브 영역 또는 네거티브 영역으로 분류될 수 있다.
[00016] 일부 실시예들에서, 딥 러닝 결과를 생성하기 위해, 제2 응답 맵이 DCNN에서 하나 이상의 컨벌루션 계층들 또는 하나 이상의 상이한 컨벌루션 계층들을 사용하여 적어도 제2 피처를 컨벌빙함으로써 생성될 수 있으며, 회귀 또는 보정이 적어도 제2 응답 맵을 사용하여 영역의 예측된 위치에 대해 결정될 수 있다.
[00017] 일부 실시예들에서, 캡처된 이미지를 로컬화하는 단계는 딥 러닝 프로세스를 상태 천이 모델에 매립하는 단계; 및 적어도 상태 천이 모델을 사용하여 하나 이상의 측정치들로서 칼만 필터 모델에서의 딥 러닝 결과를 수신하는 단계 ― 상태 천이 모델은 이전 시점에서의 이전 포지션 상태에 적어도 부분적으로 기초하고 상태 추정 모델의 제어 벡터 또는 프로세스 잡음 중 적어도 하나에 기초하여 다음 시점에서의 다음 포지션 상태를 결정하는 데 사용됨 ― 를 포함한다.
[00018] 직전 실시예들 중 일부에서, 캡처된 이미지를 로컬화하기 위해, 다음 시점에서의 측정치가 이미지 정합 프로세스에서 적어도 칼만 필터 모델을 사용하여 결정될 수 있으며, 유사한 배경 또는 하나 이상의 유사한 피처들의 간섭이 적어도 이미지 정합 프로세스를 수행하여 감소될 수 있으며, 캡처된 이미지는 칼만 필터 모델 및 이미지 정합 프로세스를 사용하여 검색 이미지에서 검색 이미지로 로컬화될 수 있다.
[00019] 일부 실시예들에서, 딥 러닝 프로세스를 매립하기 위해, 하나 이상의 제어 벡터들이 상태 천이 모델에 대해 결정될 수 있으며; 프로세스 잡음이 통계적 분포로부터 도출될 수 있으며; 시간 스텝(step)이 또한 상태 천이 모델에 대해 결정될 수 있다.
[00020] 선행 실시예들 중 일부에서, 칼만 필터 모델 및 이미지 정합 프로세스를 사용하여 검색 이미지에서 캡처된 이미지를 로컬화하는 단계는 캡처된 이미지의 전체 프레임에 대해 대략적인 정합을 수행하는 단계; 및 대략적인 정합에서 참조되는 영역 주위의 외부 영역에서 하나 이상의 피처들 또는 피처 포인트들에 대해 미세 정합을 수행하는 단계를 포함한다.
[00021] 추가로 또는 대안적으로, 캡처된 이미지의 전체 프레임에 대해 대략적인 정합을 수행하기 위해, 캡처된 이미지 또는 검색 이미지의 전체 프레임의 하나 이상의 영역들에서 하나 이상의 피처들 또는 피처 포인트들이 검출될 수 있으며; 캡처된 이미지는 전체 프레임의 하나 이상의 영역들에 정합될 수 있다.
[00022] 직전 실시예들 중 일부에서, 대략적인 정합에서 참조되는 영역 주위의 외부 영역에서 하나 이상의 피처들 또는 피처 포인트들에 대해 미세 정합을 수행하는 단계는 대략적인 정합에서 참조되는 영역에 대응하는 확대된 영역 내의 피처 또는 피처 포인트를 선택하는 단계; 및 피처 또는 피처 포인트를 검색 이미지의 외부 영역의 대응하는 피처 또는 피처 포인트와 매칭시키는 단계를 포함한다.
[00023] 일부 실시예들에서, 대략적인 정합에서 참조되는 영역 주위의 외부 영역에서 하나 이상의 피처들 또는 피처 포인트들에 대해 미세 정합을 수행하는 단계는 추가로 피처 또는 피처 포인트와 검색 이미지의 외부 영역의 대응하는 피처 또는 피처 포인트의 매칭의 결과에 적어도 부분적으로 기초하여 검색 이미지에서 캡처된 이미지를 로컬화하는 단계를 추가로 포함할 수 있다.
[00024] 일부 실시예들은 근안 디스플레이에서 눈의 움직임을 추적하기 위한 시스템에 관한 것으로, 시스템은 프로세서, 스캐닝 파이버(fiber) 조립체 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 프로세서에 의해 실행될 때, 프로세서로 하여금 근안 디스플레이에서 눈의 움직임을 추적하기 위해 상술한 방법들 중 임의의 방법을 수행하게 한다.
[00025] 일부 실시예들은 명령어들을 저장한 비일시적 컴퓨터-판독 가능 매체에 관한 것으로, 명령어들은 마이크로프로세서에 의해 실행될 때, 마이크로프로세서로 하여금 근안 디스플레이에서 눈의 움직임을 추적하기 위해 상술한 방법들 중 임의의 방법을 수행하게 한다.
[00026] 본 개시 내용의 일부 실시예들의 개요 설명:
[00027] 1. 근안 디스플레이에서 눈의 움직임을 추적하기 위한 방법으로서, 객체 또는 그 일부의 복수의 베이스 이미지들을 식별하는 단계; 복수의 베이스 이미지들 중 적어도 일부에 적어도 부분적으로 기초하여 검색 이미지를 생성하는 단계; 딥 러닝 모델에서 신경망을 사용하여 베이스 이미지에 대해 적어도 딥 러닝 프로세스를 수행하여 딥 러닝 결과를 생성하는 단계; 및 칼만 필터 모델 및 딥 러닝 결과를 사용하여 캡처된 이미지와 검색 이미지에 대해 적어도 이미지 정합 프로세스를 수행하여 검색 이미지에 캡처된 이미지를 로컬화하는 단계를 포함하는, 방법.
[00028] 2. 제1 항에 있어서, 객체는 사용자의 망막을 포함하고, 망막의 적어도 일부를 나타내는 캡처된 이미지는 하나 이상의 입력 광 패턴들에 응답하여 동공으로부터의 글린트를 캡처하는 동공-글린트 기술들을 사용하지 않고 검색 이미지에 대해 로컬화되는, 방법.
[00029] 3. 제1 항에 있어서, 딥 러닝 결과를 생성하는 단계는 딥 컨벌루션 신경망(DCNN)을 사용하여 캡처된 이미지의 영역의 피처를 추출하는 단계; 및 피처를 제1 피처 및 제2 피처를 포함하는 복수의 피처들로 변환하는 단계를 포함하는, 방법.
[00030] 4. 제3 항에 있어서, 딥 러닝 결과를 생성하는 단계는 제1 피처에 적어도 부분적으로 기초하여 영역을 포지티브(positive) 영역 또는 네거티브(negative) 영역으로 분류하는 단계를 포함하는, 방법.
[00031] 5. 제3 항에 있어서, 딥 러닝 결과를 생성하는 단계는 제2 피처에 적어도 부분적으로 기초하여 영역에 대한 회귀를 결정하는 단계를 포함하는, 방법.
[00032] 6. 제4 항에 있어서, 영역을 분류하는 단계는 제2 피처가 아닌 제1 피처에 적어도 부분적으로 기초하는, 방법.
[00033] 7. 제5 항에 있어서, 영역에 대한 회귀를 결정하는 단계는 제1 피처가 아닌 제2 피처에 적어도 부분적으로 기초하는, 방법.
[00034] 8. 제1 항에 있어서, 딥 러닝 결과를 생성하는 단계는 딥 컨벌루션 신경망(DCNN)을 사용하여 캡처된 이미지의 영역의 피처를 추출하는 단계; 및 피처를 제1 피처 및 제2 피처를 포함하는 복수의 피처들로 변환하는 단계를 포함하는, 방법.
[00035] 9. 제8 항에 있어서, 딥 러닝 결과를 생성하는 단계는 DCNN에서 하나 이상의 컨벌루션 계층들을 사용하여 적어도 제1 피처를 적어도 컨벌빙(convolving)함으로써 제1 응답 맵을 생성하는 단계; 및 제1 응답 맵에 적어도 부분적으로 기초하여 영역을 포지티브 영역 또는 네거티브 영역으로 분류하는 단계를 더 포함하는, 방법.
[00036] 10. 제9 항에 있어서, 영역을 분류하는 단계는 제2 응답 맵이 아닌 제1 응답 맵에 적어도 부분적으로 기초하는, 방법.
[00037] 11. 제9 항에 있어서, 딥 러닝 결과를 생성하는 단계는 DCNN에서 하나 이상의 컨벌루션 계층들 또는 하나 이상의 상이한 컨벌루션 계층들을 사용하여 적어도 제2 피처를 컨벌빙함으로써 제2 응답 맵을 생성하는 단계; 및 적어도 제2 응답 맵을 사용하여 영역의 예측된 위치에 대한 회귀 또는 보정을 결정하는 단계를 더 포함하는, 방법.
[00038] 12. 제11 항에 있어서, 회귀 또는 보정을 결정하는 단계는 제1 응답 맵이 아닌 제2 응답 맵에 적어도 부분적으로 기초하는, 방법.
[00039] 13. 제8 항에 있어서, 딥 러닝 결과를 생성하는 단계는 적어도 이미지 정합 프로세스를 사용하여 DCNN 및/또는 딥 러닝 모델을 보상하는 단계를 더 포함하는, 방법.
[00040] 14. 제1 항에 있어서, 캡처된 이미지를 로컬화하는 단계는 딥 러닝 프로세스를 상태 천이 모델에 매립하는 단계를 포함하는, 방법.
[00041] 15. 제14 항에 있어서, 캡처된 이미지를 로컬화하는 단계는 적어도 상태 천이 모델을 사용하여 하나 이상의 측정치들로서 칼만 필터 모델에서의 딥 러닝 결과를 수신하는 단계를 포함하는, 방법.
[00042] 16. 제14 항에 있어서, 상태 천이 모델은 이전 시점에서의 이전 포지션 상태에 적어도 부분적으로 기초하고 상태 추정 모델의 제어 벡터 또는 프로세스 잡음 중 적어도 하나에 기초하여 다음 시점에서의 다음 포지션 상태를 결정하는 데 사용되는, 방법.
[00043] 17. 제14 항에 있어서, 캡처된 이미지를 로컬화하는 단계는 이미지 정합 프로세스에서 적어도 칼만 필터 모델을 사용하여 다음 시점에서의 측정치를 결정하는 단계를 포함하는, 방법.
[00044] 18. 제17 항에 있어서, 캡처된 이미지를 로컬화하는 단계는 적어도 이미지 정합 프로세스를 수행하여 유사한 배경 또는 하나 이상의 유사한 피처들의 간섭을 감소시키는 단계를 포함하는, 방법.
[00045] 19. 제17 항에 있어서, 캡처된 이미지를 로컬화하는 단계는 칼만 필터 모델 및 이미지 정합 프로세스를 사용하여 검색 이미지에서 캡처된 이미지를 로컬화하는 단계를 포함하는, 방법.
[00046] 20. 제14 항에 있어서, 딥 러닝 프로세스를 매립하는 단계는 상태 천이 모델에 대한 하나 이상의 제어 벡터들을 결정하는 단계; 통계적 분포로부터 프로세스 잡음을 도출하는 단계; 및 상태 천이 모델에 대한 시간 스텝(step)을 결정을 결정하는 단계를 포함하는, 방법.
[00047] 21. 제20 항에 있어서, 시간 스텝은 증강 현실 시스템에 의해 캡처된 2 개의 바로 이웃하는 프레임들 사이의 시간적 지속 기간을 포함하고, 상태 천이 모델은 이전 시점에서의 이전 포지션 상태에 적어도 부분적으로 기초하고 상태 추정 모델의 제어 벡터 또는 프로세스 잡음 중 적어도 하나에 기초하여 다음 시점에서의 다음 포지션 상태를 결정하는 데 사용되는, 방법.
[00048] 22. 제20 항에 있어서, 프로세스 잡음은 통계적 분포로부터 도출되고, 통계적 분포는 제로-평균(mean) 다변량 정규 분포를 포함하는, 방법.
[00049] 23. 제19 항에 있어서, 칼만 필터 모델 및 이미지 정합 프로세스를 사용하여 검색 이미지에서 캡처된 이미지를 로컬화하는 단계는 캡처된 이미지의 전체 프레임에 대해 대략적인 정합을 수행하는 단계; 및 대략적인 정합에서 참조되는 영역 주위의 외부 영역에서 하나 이상의 피처들 또는 피처 포인트들에 대해 미세 정합을 수행하는 단계를 포함하는, 방법.
[00050] 24. 제23 항에 있어서, 캡처된 이미지의 전체 프레임에 대해 대략적인 정합을 수행하는 단계는 캡처된 이미지 또는 검색 이미지의 전체 프레임의 하나 이상의 영역들에서 하나 이상의 피처들 또는 피처 포인트들을 검출하는 단계를 포함하는, 방법.
[00051] 25. 제24 항에 있어서, 캡처된 이미지의 전체 프레임에 대해 대략적인 정합을 수행하는 단계는 캡처된 이미지를 전체 프레임의 하나 이상의 영역들에 정합시키는 단계를 포함하는, 방법.
[00052] 26. 제23 항에 있어서, 대략적인 정합에서 참조되는 영역 주위의 외부 영역에서 하나 이상의 피처들 또는 피처 포인트들에 대해 미세 정합을 수행하는 단계는 대략적인 정합에서 참조되는 영역에 대응하는 확대된 영역 내의 피처 또는 피처 포인트를 선택하는 단계를 포함하는, 방법.
[00053] 27. 제26 항에 있어서, 대략적인 정합에서 참조되는 영역 주위의 외부 영역에서 하나 이상의 피처들 또는 피처 포인트들에 대해 미세 정합을 수행하는 단계는 피처 또는 피처 포인트를 검색 이미지의 외부 영역의 대응하는 피처 또는 피처 포인트와 매칭시키는 단계를 포함하는, 방법.
[00054] 28. 제25 항에 있어서, 대략적인 정합에서 참조되는 영역 주위의 외부 영역에서 하나 이상의 피처들 또는 피처 포인트들 대한 미세 정합을 수행하는 단계는 피처 또는 피처 포인트와 검색 이미지의 외부 영역의 대응하는 피처 또는 피처 포인트의 매칭의 결과에 적어도 부분적으로 기초하여 검색 이미지에서 캡처된 이미지를 로컬화하는 단계를 포함하는, 방법.
[00055] 29. 제1 항에 있어서, 딥 러닝 모델은 수정된 샴(Siamese) 영역 제안 네트워크를 포함하고, 딥 러닝 모델은 딥 컨벌루션 신경망 및 이미지 정합 프로세스를 포함하고, 상이한 기간들에서 캡처된 복수의 상이한 캡처된 이미지들은 복수의 검색 이미지들이 아닌 검색 이미지에 기초하여 로컬화되는, 방법.
[00056] 30. 제1 항에 있어서, 딥 러닝 모델은 수정된 샴 영역 제안 네트워크를 포함하고, 캡처된 이미지들은 경계 박스들을 사용하지 않고 2 개의 직교 방향들에서 하나 이상의 타깃 포지션들을 사용하여 검색 이미지에 로컬화되는, 방법.
[00057] 31. 제1 항에 있어서, 검색 이미지는 복수의 베이스 이미지들 중 적어도 일부를 검색 이미지로 스티칭(stitching), 모자이크 처리 또는 결합함으로써 생성되는, 방법.
[00058] 32. 제1 항에 있어서, 딥 러닝 모델은 딥 컨벌루션 신경망 및 이미지 정합 프로세스를 포함하고, 딥 러닝 모델은 제1 캡처된 이미지의 다음 성공적인 정합까지 칼만 필터 모델의 하나 이상의 측정치들이 누락될 때 이미지 정합 프로세스가 아닌 딥 컨벌루션 신경망만을 호출하는, 방법.
[00059] 33. 근안 디스플레이에서 눈의 움직임을 추적하기 위한 시스템으로서, 프로세서, 스캐닝 파이버(fiber) 조립체 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 프로세서에 의해 실행될 때, 프로세서로 하여금 근안 디스플레이에서 눈의 움직임을 추적하기 위해 제1 항 내지 제32 항 중 어느 한 항에 따른 방법을 수행하게 하는, 시스템.
[00060] 34. 명령어들을 저장한 비일시적 컴퓨터-판독 가능 매체로서, 명령어들은 마이크로프로세서에 의해 실행될 때, 마이크로프로세서로 하여금 근안 디스플레이에서 눈의 움직임을 추적하기 위해 제1 항 내지 제28 항 중 어느 한 항에 따른 방법을 수행하게 하는, 비일시적 컴퓨터-판독 가능 매체.
[00061] 도 1은 일부 실시예들에서 근안 디스플레이들에서 눈을 추적하기 위한 방법 또는 시스템의 상위 블록도를 예시한다.
[00062] 도 2는 일부 실시예들에서 스캐닝 파이버 내시경(SFE: scanning fiber endoscope)에 의해 캡처된 망막 프레임들, 베이스 프레임들 또는 템플릿 프레임들 및 모자이크 처리된 베이스라인 또는 검색 이미지의 일부 예를 예시한다.
[00063] 도 3은 일부 실시예들에서 400 프레임들에 걸쳐 도 단위의 망막 추적 오류들의 예시적인 누적 분포 함수(CDF: cumulative distribution function)를 예시한다.
[00064] 도 4는 일부 실시예들에서 종래의 동공-글린트 방법들과 비교하여 예시적인 망막-기반 추적의 일부 예시적인 벤치마크 결과들을 예시한다.
[00065] 도 5는 일부 실시예들에서 망막의 SFE 이미지들을 캡처하기 위한 시스템의 단순화된 예를 예시한다.
[00066] 도 6은 일부 실시예들에서 망막의 일부 예시적인 템플릿 이미지들 또는 베이스 이미지들을 예시한다.
[00067] 도 7은 일부 실시예들에서 예시적인 딥 러닝 모델을 예시한다.
[00068] 도 8은 일부 실시예들에서 로봇 로컬화의 단순화된 작업 예를 예시한다.
[00069] 도 9는 일부 실시예들에서 수술에서 현미경 또는 내시경 로컬화의 또 다른 단순화된 작업 예를 예시한다.
[00070] 도 10a는 일부 실시예들에서 얼굴 또는 눈 추적을 위한 얼굴 또는 눈(들)의 로컬화의 또 다른 단순화된 작업 예를 예시한다.
[00071] 도 10b는 일부 실시예들에서 객체 추적을 위한 객체의 로컬화의 또 다른 단순화된 작업 예를 예시한다.
[00072] 도 10c는 일부 실시예들에서 객체 추적을 위한 객체의 로컬화의 또 다른 단순화된 작업 예를 예시한다.
[00073] 도 11a는 하나 이상의 실시예들에서 마이크로-프로젝터들의 어레이 및 광학 시스템과 마이크로-프로젝터들의 어레이의 커플링의 예시적인 구성들을 예시한다.
[00074] 도 11b는 하나 이상의 실시예들에서 웨어러블 XR 디바이스의 개략적 표현의 일부 예시적 구성 요소의 평면도를 예시한다.
[00075] 도 11c는 하나 이상의 실시예들에서 웨어러블 XR 디바이스의 개략적 표현의 예시적인 실시예를 예시한다.
[00076] 도 12a는 하나 이상의 실시예들에서 근안 디스플레이들에서의 눈 추적을 위한 상위-레벨 블록도를 예시한다.
[00077] 도 12b는 하나 이상의 실시예들에서 예시적인 영역 제안 네트워크(RPN: Region Proposal Network)를 예시한다.
[00078] 도 12c는 하나 이상의 실시예들에서 원-샷(one-shot) 검출로서 추적하는 또 다른 예를 예시한다.
[00079] 도 12d는 하나 이상의 실시예들에서 RPN 피처 맵의 예시적인 중심 크기를 예시한다.
[00080] 도 12e는 하나 이상의 실시예들에서 ReLU(정류된 선형 유닛(rectified linear unit))를 갖는 4-계층 컨벌루션 신경망의 일부 예시적인 훈련 오류율을 예시한다.
[00081] 도 13은 하나 이상의 실시예들에서 도 12에 예시된 상위-레벨 블록도의 일부에 대한 보다 상세 사항을 예시한다.
[00082] 도 14a는 하나 이상의 실시예들에서 도 12에 예시된 상위-레벨 블록도의 다른 부분에 대한 보다 상세 사항을 예시한다.
[00083] 도 14b는 하나 이상의 실시예들에서 예시적인 딥 컨벌루션 신경망을 예시한다.
[00084] 도 15a는 하나 이상의 실시예들에서 도 12에 예시된 상위-레벨 블록도의 다른 부분에 대한 보다 상세 사항을 예시한다.
[00085] 도 15b는 하나 이상의 실시예들에서 도 15a의 일부에 대한 보다 상세 사항을 예시한다.
[00086] 도 15c는 하나 이상의 실시예들에서 도 15a의 다른 부분에 대한 보다 상세 사항을 예시한다.
[00087] 도 16a 내지 도 16i는 하나 이상의 실시예들에서 마이크로-프로젝터들의 어레이 및 광학 시스템과 마이크로-프로젝터들의 어레이의 커플링의 예시적인 구성들을 예시한다.
[00088] 이하의 설명에서, 다양한 개시된 실시예들의 완전한 이해를 제공하기 위해 특정한 특정 상세 사항이 제시된다. 그러나, 관련 기술 분야의 통상의 기술자는 실시예들이 이러한 특정 상세 사항 중 하나 이상 없이 또는 다른 방법들, 구성 요소들, 재료들 등으로 실시될 수 있음을 인식할 것이다. 다른 예들에서, 공간 컴퓨팅 헤드셋들을 포함하는 안경류와 연관된 공지의 구조들 및 안경류의 템플 아암(temple arm)들에 대한 힌지 시스템들은 실시예들의 설명을 불필요하게 모호하게 하는 것을 피하기 위해 상세하게 도시되거나 설명되지 않았다.
[00089] 문맥상 달리 요구하지 않는 한, 명세서 및 후속 청구항들 전체에 걸쳐 "포함하다(comprises)" 및 "포함하는(comprising)"과 같은 단어 "포함하다(comprise)" 및 그의 변형은 "포함하되 이에 한정되지 않는"과 같이 개방형의 포괄적인 의미로 해석되어야 한다.
[00090] 본 명세서 전반에 걸쳐 "일 실시예" 또는 "실시예"에 대한 언급은 해당 실시예와 관련하여 설명된 특정의 피처, 구조 또는 특성이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 다양한 위치에서 "일 실시예에서" 또는 "실시예에서"라는 문구들의 등장이 반드시 모두 동일한 실시예를 지칭하는 것은 아니다. 추가로, 특정의 피처들, 구조들 또는 특성들은 하나 이상의 실시예들에서 임의의 적절한 방식으로 조합될 수 있다.
[00091] 이하의 설명에서, 다양한 개시된 실시예들의 완전한 이해를 제공하기 위해 특정한 특정 상세 사항이 제시된다. 그러나, 관련 기술 분야의 통상의 기술자는 실시예들이 이러한 특정 상세 사항 중 하나 이상 없이 또는 다른 방법들, 구성 요소들, 재료들 등으로 실시될 수 있음을 인식할 것이다. 다른 예들에서, 가상 현실(VR), 증강 현실(AR), 혼합 현실(MR) 및 확장 현실(XR) 시스템과 연관된 공지의 구조들은 실시예들의 설명을 불필요하게 모호하게 하는 것을 피하기 위해 상세하게 도시되거나 설명되지 않았다. 가상 현실(VR), 증강 현실(AR), 혼합 현실(MR) 및 확장 현실(XR)이라는 용어는 본원에 설명된 적어도 웨어러블 광학 조립체(12)를 통해 사용자에게 적어도 가상 컨텐츠를 표시하기 위한 방법 또는 시스템을 표기하기 위해 본 개시에서 상호 교환적으로 사용될 수 있음에 유의해야 한다.
[00092] 문맥상 달리 요구하지 않는 한, 명세서 및 후속 청구항들 전체에 걸쳐 "포함하다(comprises)" 및 "포함하는(comprising)"과 같은 단어 "포함하다(comprise)" 및 그의 변형은 "포함하되 이에 한정되지 않는"과 같이 개방형의 포괄적인 의미로 해석되어야 한다.
[00093] 예시적인 디바이스들, 방법들 및 시스템들이 본원에 설명된다. "예(example)", "예적인(exemplary)" 및 "예시적인(illustrative)"이라는 단어들은 "예, 예증 또는 예시로서의 역할을 하는 것"을 의미하는 것으로 본원에서 사용된다는 것을 이해해야 한다. 본원에서 "예", "예적인" 또는 "예시적인" 것으로 설명되는 임의의 실시예 또는 피처는 반드시 다른 실시예들 또는 피처들보다 바람직하거나 유리한 것으로 해석되어서는 안 된다. 본원에 설명되는 예시적인 실시예들은 한정하려는 의도가 아니다. 본원에 일반적으로 설명되고 도면들에 예시된 바와 같이, 본 개시의 양태들은 광범위하게 다양한 상이한 구성들로 배열, 치환, 결합, 분리 및 설계될 수 있으며, 이들 모두는 본원에서 명시적으로 고려된다는 것이 쉽게 이해될 것이다.
[00094] 추가로, 도면들에 도시된 특정 배열들은 한정적인 것으로 간주되어서는 안 된다. 다른 실시예들은 주어진 도면에 도시된 각각의 요소를 더 많거나 적게 포함할 수 있음을 이해해야 한다. 추가로, 예시된 요소들 중 일부는 결합되거나 생략될 수 있다. 또한 추가로, 예시적인 실시예는 도면들에 예시되지 않은 요소들을 포함할 수 있다. 본원에 사용되는 바와 같이, 측정치들과 관련하여, "약(about)"은 +/- 5%를 의미한다.
[00095] 머리 장착 디스플레이(HMD)들은 3D 가상 및 증강 환경들의 분야의 광범위한 애플리케이션들에 대해 연구되었다. 정확하고 고속의 눈 추적은 HMD의 핵심 시나리오, 예를 들어, 중심와-의존 디스플레이 스킴들과 사람들에 대한 새로운 상호 작용 인터페이스들을 통한 시야(FOV) 및 해상도 절충을 가능하게 하는 데 중요하다. HMD에 매립된 눈-추적기들은 침습적 방법들, 예를 들어, 공막 코일과 비침습적 비디오-기반 방법들로 분할될 수 있으며, 후자가 더 일반적이다. 현재 비디오-기반 방법들은 주로 홍채, 동공 및 글린트와 같은 안구의 상이한 피처들을 사용하며, 동공-글린트 방법들이 가장 널리 사용된다. 이러한 방법들은 0.5° 내지 1°의 평균 추적 오류를 가지며, 이러한 피처들의 추적 해상도는 대략 픽셀 당 0.7° 내지 1°이다. 추적 해상도를 넘어 정확도를 추가로 개선하는 것은 쉽지 않다.
[00096] 눈 표면의 피처들을 사용하는 것 외에도, 망막 이미지들은 또한 눈-추적 스캐닝 레이저 검안경(SLO)들과 같은 의료 분야의 눈-추적에 이용된다. 이들은 작은 FOV 고해상도 이미지들에서 망막 움직임 추정을 위해 스캐닝 왜곡을 활용하지만, 이 기술은 작은 도약 안구 운동들을 위해 설계되었으며 HMD에 쉽게 통합되지 않는다. HMD의 망막-기반 눈 추적은 고급 센서들 없이 더 높은 추적 해상도, 선형 시선 추정 모델 및 망막 상의 중심와의 직접적인 로컬화와 같은 그 자체의 이점들을 갖는다. 추가로, 망막 추적은 HMD와 함께 광범위한 의료 애플리케이션들을 제공한다.
[00097] 다양한 실시예들은 객체의 움직임 비디오들에 기초하여 객체 추적을 위한 실시간 로컬화 방법을 제시하며, 여기에서 각각의 프레임은 모자이크 처리된 검색 이미지 상에서 로컬화될 수 있다. 도 12a는 하나 이상의 실시예들에서 근안 디스플레이들에서의 눈 추적을 위한 상위-레벨 블록도를 예시한다.
[00098] 이러한 실시예들에서, 객체 또는 그 일부(예를 들어, 망막 또는 그 일부)의 복수의 기본 또는 템플릿 이미지들이 1202에서 식별될 수 있다. "템플릿 이미지" 및 " 베이스 이미지"라는 용어는 예를 들어, 복수의 베이스 이미지들 중 일부 또는 전부로 구성될 수 있는 검색 이미지와 구별하기 위해 본 개시 전반에 걸쳐 상호 교환적으로 사용될 수 있음에 유의해야 한다. 이러한 실시예들 중 일부에서, 복수의 베이스 이미지들은 예를 들어, 스캐닝 파이버 내시경(SFE)을 사용하여 캡처될 수 있는 반면, 베이스 이미지는 일부 다른 실시예들에서 임의의 이미지 캡처 디바이스에 의해 캡처될 수 있다.
[00099] 검색 이미지는 복수의 베이스 이미지들 중 적어도 일부에 적어도 부분적으로 기초하여 1204에서 생성될 수 있다. 예를 들어, 검색 이미지는 동일하거나 상이한 이미지 캡처 디바이스들로 캡처될 수 있는 복수의 베이스 이미지들로부터 모자이크 처리되거나, 스티칭되거나, 다르게 결합될 수 있다. 베이스 이미지는 일부 실시예들에서 검색 이미지보다 더 낮은 해상도 및/또는 더 좁은 시야를 가질 수 있다. 1204에서 생성된 검색 이미지는 움직이는 객체를 로컬화하고 그에 따라 추적하는 데 추가로 사용될 수 있다. 일부 실시예들이 사용자의 망막을 참조하여 본원에서 설명되지만, 본원에서 설명된 다양한 기술들은 또한 아래에서 설명되는 다른 객체들에 적용될 수 있음에 유의해야 한다.
[000100] 일부 실시예들에서, 일단 검색 이미지가 구성되면, 임의의 후속적으로 캡처된 이미지 프레임들은 (예를 들어, XR 시스템의 눈 추적 디바이스에 의해) 일부 종래의 접근법들에서와 같이 복수의 이미지들이 아니라 동일한 검색 이미지에 대해 정합될 수 있다. 일부 다른 실시예들에서, 후속적으로 캡처된 이미지 프레임들은 (예를 들어, XR 시스템의 눈 추적 디바이스에 의해) 본원에 설명된 복수의 검색 이미지들에 대해 정합될 수 있다.
[000101] 딥 러닝 결과들은 딥 러닝 모델에서 신경망을 사용하여 베이스 이미지 또는 캡처된 이미지에 대해 적어도 딥 러닝 프로세스를 수행함으로써 1206에서 생성될 수 있다. 1206에서 생성된 딥 러닝 결과로, 캡처된 이미지는 칼만 필터 모델과 딥 러닝 결과로 캡처된 이미지 및/또는 검색 이미지에 대해 적어도 이미지 정합 프로세스를 수행함으로써 1208에서 로컬화될 수 있다. 이러한 실시예들에서, 망막의 적어도 일부를 나타내는 캡처된 이미지는 하나 이상의 입력 광 패턴들에 응답하여 동공으로부터의 글린트를 캡처하는 동공-글린트 기술을 사용하지 않고 검색 이미지에 대해 로컬화된다. 도 12a에 예시된 블록도의 일부에 대한 보다 상세한 사항이 아래에 설명된다.
[000102] 도 12b는 하나 이상의 실시예들에서 예시적인 영역 제안 네트워크(RPN)를 예시한다. 보다 구체적으로, 예시적인 RPN 네트워크는 포지티브(1222B) 및 네거티브(1224B) 영역(들), 피처(들), 포인트(들), 위치(들) 등을 갖는 제1 출력을 생성하는 피처 추출을 수행하기 위해 공동으로 사용되는 샴 서브네트워크(1202B) 및 영역 제안 네트워크(1258B)를 포함한다. 제1 출력에서, 1226B는 그룹을 나타내고 제1 출력은 복수의 그룹들(1228B)을 포함한다. 샴 서브네트워크(1202B) 및 영역 제안 네트워크(1258B)는 복수(1252B)의 개별 그룹들(1250B)을 갖는 제2 출력을 추가로 생성하는 피처 추출을 추가로 수행할 수 있다.
[000103] 일부 실시예들은 Youtube-BB와 같은 대규모 훈련 데이터를 이용할 수 있는 이미지 쌍으로 오프라인에서 훈련될 수 있다. 애블레이션(ablation) 연구에 따르면 더 많은 데이터가 더 나은 성능을 얻는 데 도움이 될 수 있다. 추가적으로 또는 대안적으로, 일부 실시예들은 영역 제안 서브네트워크가 일반적으로 도 12e에서와 같이 컴팩트 경계 박스들을 얻기 위해 제안의 정확한 스케일 및 비율을 예측한다는 것을 발견한다.
[000104] 도 12e는 ReLU(실선)들을 갖는 4-계층 컨벌루션 신경망이 tanh 뉴런들(점선)을 갖는 동등한 네트워크보다 6배 빠르게 CIFAR-10에서 25% 훈련 오류율에 도달함을 예시한다. 각각의 네트워크의 러닝 속도는 가능한 한 빨리 훈련할 수 있도록 독립적으로 선택되었다. 어떤 종류의 정규화도 채용되지 않았다. 여기에서 입증된 효과의 크기는 네트워크 아키텍처에 따라 다르지만, ReLU들을 갖는 네트워크들은 포화 뉴런들을 갖는 동등물보다 몇 배 더 빠르게 일관되게 학습한다.
[000105] 도 12b에 예시된 일부 실시예들은 추적 작업을 위해 대규모 이미지 쌍으로 오프-라인에서 단-대-단(end-to-end) 훈련되는 샴 영역 제안 네트워크(Siamese-RPN)를 채용할 수 있다. 온라인 추적 중에, 제안된 프레임워크는 고가의 다중-스케일 테스트를 폐기하도록 제안을 세분화할 수 있는 로컬 원-샷 검출 작업으로서 공식화된다. 이는 VOT2015, VOT2016 및 VOT2017 실시간 챌린지에서 160 FPS의 속도로 뛰어난 성능을 달성하며, 이는 정확성과 효율성 모두에서 이점을 입증한다.
[000106] 영역 제안 네트워크(RPN)는 Faster R-CNN에서 처음 제안되었다. RPN 이전에, 통상적인 제안 추출 방법들은 시간 소모적이다. 예를 들어, 선택적 검색은 하나의 이미지를 프로세싱하는 데 2초를 필요로 한다. 그 외에, 이러한 제안들은 검출하기에 충분히 좋지 못하다. 복수의 앵커(anchor)들의 열거와 공유 컨벌루션 피처들은 고품질을 달성하면서 제안 추출 방법을 시간 효율적으로 만든다. RPN은 전경-배경 분류와 경계 박스 회귀를 모두 감독하기 때문에 보다 정확한 제안을 추출할 수 있다. RPN을 채용하는 Faster R-CNN의 몇몇 변형들이 있다. R-FCN은 구성 요소의 포지션 정보를 고려하고 FPN은 피처 피라미드 네트워크를 채용하여 작은 객체 검출의 성능을 개선한다. 2 단계 검출기들과 달리, SSD 및 YOLO9000과 같은 RPN의 개선된 버전은 효율적인 검출기들이다. RPN은 속도와 뛰어난 성능으로 인해 검출에 많은 성공적인 애플리케이션을 갖지만, 추적에 완전히 활용되지는 않았다.
[000107] 도 12b에서, 영역 제안 서브네트워크(1258B)는 중간에 있고, 이는 분류를 위한 하나의 브랜치(1254B)와 회귀를 위한 다른 브랜치(1256B)의 2 개의 브랜치들을 갖는다. 쌍별 상관이 2 개의 브랜치들(1228B 및 1252B)의 출력을 얻기 위해 채택된다. 이러한 2 개의 출력 피처 맵들(1226B, 1228B, 1250B 및 1252B)의 상세 사항이 예시되어 있다. 분류 브랜치(1254B)에서, 출력 피처 맵(1226B 및 1228B)은 k 개의 앵커의 전경 및 배경에 대응하는 2k 개의 채널을 갖는다. 회귀 브랜치(1256B)에서, 출력 피처 맵(1250B 및 1252B)은 k 개의 앵커들의 제안 세분화에 사용되는 2 개의 좌표들(dx 및 dy에 추가하여 폭 방향으로 dw 및 길이 방향으로 dl을 갖는 경계 박스를 갖는 대신, x-방향으로 dx 및 y-방향으로 dy)에 대응하는 4k 개의 채널들을 갖는다.
[000108] 일부 실시예들은 제안된 샴-RPN 프레임워크를 상세히 설명한다. 도 2에 도시된 바와 같이, 제안된 프레임워크는 피처 추출을 위한 샴 서브네트워크 및 제안 생성을 위한 영역 제안 서브네트워크로 구성된다. 구체적으로, RPN 서브네트워크에 2 개의 브랜치들이 있으며, 하나는 전경-배경 분류를 담당하고 다른 하나는 제안 세분화에 사용된다. 타깃 객체들을 포함하는 이미지 패치들이 제안된 프레임워크에 공급되고 전체 시스템이 단-대-단으로 훈련된다.
[000109] 샴 네트워크에서, 일부 실시예들은 패딩 없이 완전히 컨벌루션 네트워크를 채택한다.
Figure pct00001
가 병진 연산자
Figure pct00002
를 나타낸다고 하면, 모든 패딩이 제거되어 스트라이드 k를 사용한 완전 컨벌루션의 정의를 충족한다:
Figure pct00003
(1A)
[000110] 일부 실시예들은 AlexNet을 사용하며, 여기서 conv2 및 conv4로부터의 그룹들이 제거된다. 샴 피처 추출 서브네트워크는 2 개의 브랜치들로 구성된다. 하나는 입력으로서(z로 표기) 이력 프레임에서 타깃 패치를 수신하는 템플릿 브랜치라고 칭한다. 다른 하나는 입력으로서(x로 표기) 현재 프레임의 타깃 패치를 수신하는 검출 브랜치라고 칭한다. 2 개의 브랜치들은 CNN에서 파라미터들을 공유하므로 2 개의 패치들은 후속 작업들에 적절한 동일 변환에 의해 암시적으로 인코딩된다. 예시 및 설명의 용이함을 위해, 일부 실시예들은 샴 서브네트워크의 출력 피처 맵들으로서
Figure pct00004
Figure pct00005
를 표기한다.
[000111] 영역 제안 서브네트워크는 쌍별 상관 섹션과 감독 섹션으로 구성된다. 감독 섹션은 2 개의 브랜치를 가지며, 하나는 전경-배경 분류를 위한 것이며 다른 하나는 제안 회귀를 위한 것이다. k 개의 앵커가 있는 경우, 네트워크는 분류를 위해 2k 개의 채널들을 출력하고 회귀를 위해 4k 개의 채널들을 출력할 필요가 있다. 따라서 쌍별 상관 섹션은 먼저
Figure pct00006
의 채널을 2 개의 컨벌루션 계층에 의해 채널에서 각각 2k 및 4k배인 2 개의 브랜치
Figure pct00007
Figure pct00008
로 증가시킨다.
Figure pct00009
는 또한 2 개의 컨벌루션 계층에 의해 2 개의 브랜치
Figure pct00010
Figure pct00011
로 분할되지만, 채널들은 변하지 않고 유지한다.
Figure pct00012
는 "그룹" 방식으로
Figure pct00013
의 상관 커널로서의 역할을 하며, 즉,
Figure pct00014
그룹의 채널 수는
Figure pct00015
의 전체 채널 수와 동일하다. 상관은 분류 브랜치와 회귀 브랜치 모두에서 컴퓨팅된다:
Figure pct00016
(2A)
[000112] 템플릿 피처 맵
Figure pct00017
Figure pct00018
는 커널로서 사용되며 *는 컨벌루션 연산을 표기한다. 도 2에 도시된 바와 같이,
Figure pct00019
로 표기된
Figure pct00020
의 각각의 포인트는 2k 개의 채널 벡터를 포함하며, 이는 원래 맵 상의 대응하는 위치에서 각각의 앵커의 네거티브 및 포지티브 활성화를 나타낸다. 소프트맥스(Softmax) 손실은 분류 브랜치를 감독하기 위해 채택된다. 유사하게,
Figure pct00021
로 표기된
Figure pct00022
에서의 각각의 포인트는 4k 개의 채널 벡터를 포함하며, 이는 앵커와 대응하는 그라운드트루쓰(groundtruth) 사이의 거리를 측정하는 dx, dy, dw, dh를 나타낸다. 몇몇 앵커들로 네트워크를 훈련할 때 일부 실시예는 Faster R-CNN에서 사용되는 손실 함수를 채용한다. 분류를 위한 손실은 교차-엔트로피 손실이며 일부 실시예들은 회귀를 위해 정규화된 좌표들로 평활한 L1 손실을 채택한다. Ax, Ay, Aw, Ah는 각각 앵커 박스들의 중심 포인트와 형상을 나타내고 Tx, Ty, Tw, Th는 각각 그라운드 트루쓰 박스들의 중심 포인트와 형상을 나타낸다고 하면, 정규화된 거리는 이하와 같다:
Figure pct00023
(3A)
[000113] 그 후, 아래와 같이 기재될 수 있는 평활한 L1 손실을 통과하며,
Figure pct00024
(4A)
[000114] 마지막으로 손실 함수가 최적화될 수 있다:
Figure pct00025
(5A)
[000115] 여기서 λ는 두 부분의 균형을 맞추기 위한 하이퍼-파라미터이다. Lcls는 교차-엔트로피 손실이고 Lreg는 이하와 같다:
Figure pct00026
(6)
[000116] 훈련 단계 동안, 샘플 쌍들 랜덤한 간격으로 ILSVRC로부터 그리고 연속적으로 Youtube-BB로부터 선택된다. 템플릿과 검출 패치들은 동일한 비디오의 두 프레임들로부터 추출된다. 일부 실시예들은 샴 서브네트워크가 Imagenet을 사용하여 사전 훈련된 후 확률적 경사 하강법(SGD: Stochastic Gradient Descent)을 사용하여 단-대-단으로 샴-RPN을 훈련시킨다. 훈련 회귀 브랜치의 필요성으로 인해, 아핀(affine) 변환을 포함하여 일부 데이터 증강이 채택된다.
[000117] 일부 실시예들은 2 개의 인접한 프레임에서 동일한 객체가 많이 변경되지 않는다는 인식하여 검출 작업보다 추적 작업에서 더 적은 앵커들을 선택한다. 따라서 상이한 앵커의 비율을 가진 하나의 스케일만 채택되고 일부 실시예에서 채택된 앵커 비율은 [0.33, 0.5, 1, 2, 3]일 수 있다.
[000118] 포지티브 및 네거티브 훈련 샘플들을 선택하는 전략도 이러한 프레임워크에서 중요하다. 객체 검출 작업에 사용되는 기준은 일부 실시예들이 측정치로서 2 개의 임계값들 th_hi 및 th_lo와 함께 IoU를 사용하는 것으로 여기에서 채택된다. 포지티브 샘플들은 IoU > th_hi와 그 대응하는 그라운드 트루쓰를 갖는 앵커들로서 정의된다. 네거티브 샘플들은 IoU < th_lo를 충족하는 앵커들로서 정의된다. 일부 실시예들은 th_lo를 0.3으로 설정하고 th_hi를 0.6으로 설정한다. 일부 실시예들은 또한 하나의 훈련 쌍으로부터 최대 16 개의 포지티브 샘플들 및 전체 64 개의 샘플들을 제한한다.
[000119] 이러한 서브섹션에서, 일부 실시예들은 우선 추적 작업을 로컬 원-샷 검출 작업으로서 공식화한다. 그 후, 이러한 해석 하의 추론 단계가 상세히 분석되고 단순화되어 속도를 높인다. 마지막으로, 추적 작업에 적합한 프레임워크를 만들기 위해 일부 특정 전략들이 도입된다.
[000120] 일부 실시예들은 판별 작업으로서 원-샷 검출을 고려한다. 그 목적은 예측자 함수
Figure pct00027
의 평균 손실 L을 최소화하는 파라미터 W를 찾는 것이다. 이는 n 샘플 x i 및 대응하는 레이블
Figure pct00028
의 데이터세트에 대해 컴퓨팅된다:
Figure pct00029
(7A)
[000121] 원-샷 러닝은 관심 클래스의 단일 템플릿 z로부터 W를 학습하는 것을 목적으로 한다. 판별적 원-샷 러닝의 과제는 학습자에게 카테고리 정보를 통합하는 메커니즘을 찾는 것, 즉, 학습하는 것을 배우는 것이다. 과제를 해결하기 위해, 일부 실시예들은 메타-러닝 프로세스, 즉 (z; W')를 W에 매핑하는 피드-포워드 함수 ω를 사용하여 단일 템플릿 z로부터 예측자의 파라미터들 W를 학습하는 방법을 사용한다. zi가 하나의 배치(batch)에서 템플릿 샘플들이라고 하면, 문제는 이하와 같이 공식화될 수 있다:
Figure pct00030
(8A)
[000122] 위와 동일하게, z는 템플릿 패치를 나타내고, x는 검출 패치를 나타내고, 함수
Figure pct00031
는 샴 피처 추출 서브네트워크를 나타내고, 함수 ζ는 영역 제안 서브네트워크를 나타낸다고 하면, 원-샷 검출 작업은 이하와 같이 공식화될 수 있다:
Figure pct00032
(9)
[000123] 일부 실시예들은 이제 통상적으로 프로세스를 학습하기 위한 학습인 로컬 검출 작업의 커널을 예측하기 위한 훈련 파라미터들로서 샴 서브네트워크의 템플릿 브랜치를 학습 재해석할 수 있다. 이러한 해석에서, 템플릿 브랜치는 카테고리 정보를 커널에 매립하는 데 사용되며 검출 브랜치는 매립된 정보를 사용하여 검출을 수행한다. 훈련 단계 동안, 메타-학습자는 쌍별 경계 박스 감독을 제외한 어떠한 다른 감독도 필요로 하지 않는다. 추론 단계에서, 샴 프레임워크는 초기 프레임을 제외하고 검출 브랜치만을 남기고 가지 치기하므로 높은 속도로 이어진다. 제1 프레임으로부터의 타깃 패치는 템플릿 브랜치로 송신되고 검출 커널이 사전 컴퓨팅되므로 일부 실시예들은 다른 프레임들에서 원-샷 검출을 수행할 수 있다. 로컬 검출 작업은 초기 프레임 상의 템플릿에 의해 주어진 카테고리 정보만에 기초하기 때문에, 도 12c에 도시된 바와 같이 원-샷 검출로 보일 수 있다. 도 12c에서, 1214C는 회귀에 대한 가중치를 나타내고; 1216C는 분류에 대한 가중치를 나타내고; conv는 컨벌루션 계층을 나타내고; CNN은 연결된 신경망을 나타낸다. 다양한 숫자(예를 들어, 17x17x2K)는 데이터세트(예를 들어, 피처 맵)의 차원을 나타낸다.
[000124] 일부 실시예들은 템플릿 브랜치의 출력을 로컬 검출을 위한 커널들로 간주한다. 두 커널들 모두 초기 프레임 상에서 사전-컴퓨팅되고 전체 추적 기간 동안 고정된다. 사전-컴퓨팅된 커널들에 의해 컨벌빙된 현재 피처 맵으로, 검출 브랜치는 도 3에 도시된 바와 같이 원-샷 검출로서 온라인 추론을 수행한다. 검출 브랜치 상의 정방향 통과는 분류 및 회귀 출력을 획득하기 위해 수행되므로, 톱(top) M 개의 제안들을 얻는다. 구체적으로, 식 2에 정의된 일부 실시예들에서의 표기 후에, 이러한 실시예들은 분류 및 회귀 피처 맵을 포인트 세트들로서 표기한다:
Figure pct00033
(10A)
Figure pct00034
(11A)
[000125] 분류 피처 맵들 상의 홀수 채널들은 포지티브 활성화를 나타내므로, 일부 실시예들은 모든
Figure pct00035
에서 톱 K 포인트들을 수집하며, 여기서 l은 홀수이고
Figure pct00036
로서 포인트 세트를 표기하고 여기서 I, J, L은 인덱스 세트들의 일부 예이다. 변수 i 및 j는 각각 대응하는 앵커의 위치를 인코딩하고, l은 대응하는 앵커의 비율을 인코딩하므로, 일부 실시예들은
Figure pct00037
로서 대응하는 앵커 세트를 도출한다. 또한, 일부 실시예들은
Figure pct00038
로서 대응하는 세분화 좌표들을 얻기 위해
Figure pct00039
상에서
Figure pct00040
의 활성화를 찾는다. 그 후, 세분화된 톱 K 개의 제안 세트
Figure pct00041
는 이하의 식 12에 의해 획득될 수 있다:
Figure pct00042
(12)
[000126] 톱 K 개의 제안들이 생성된 후, 일부 실시예들은 일부 제안 선택 전략을 사용하여 추적 작업에 적합하도록 만들고 이는 다음 섹션에서 논의될 것이다.
[000127] 추적 작업에 적합한 원-샷 검출 프레임워크를 만들기 위해, 일부 실시예들은 제안들을 선택하기 위해 2 개의 전략을 채택할 수 있다. 제1 제안 선택 전략은 중심으로부터 너무 멀리 떨어진 앵커들에 의해 생성된 경계 박스들을 폐기하는 것이다. 예를 들어, 일부 실시예들은 m × n × k 앵커들 대신 g × g × k 앵커들을 얻기 위해
Figure pct00043
분류 피처 맵 상의 중심 g × g 서브영역만을 유지한다. 근처 프레임들은 항상 큰 모션을 갖지 않기 때문에, 폐기 전략은 이상값(outlier)들을 효율적으로 제거할 수 있다. 도 4는 분류 피처 맵에서 중심으로부터 거리가 7 이하인 타깃 앵커들을 선택하는 예시이다.
[000128] 제2 제안 선택 전략은 일부 실시예들이 코사인 윈도우 및 스케일 변경 페널티를 사용하여 제안 스코어를 재순위화하여 최상의 스코어를 얻는 것이다. 이상값이 폐기된 후, 큰 변위를 억제하기 위해 코사인 윈도우가 추가된 다음 크기 및 비율의 큰 변화를 억제하기 위해 페널티가 추가된다:
Figure pct00044
(13A)
[000129] 여기서 k는 하이퍼-파라미터이다. r은 제안의 높이와 폭의 비율을 나타내고 r'은 마지막 프레임의 비율을 나타내고, s와 s'는 이하와 같이 컴퓨팅되는 제안과 마지막 프레임의 전체 스케일을 나타낸다:
Figure pct00045
(14A)
[000130] 여기서 w와 h는 타깃의 폭과 높이를 나타내고 p는 (w+h)/2와 동일한 패딩을 나타낸다. 이러한 연산 후, 톱 K 개의 제안들은 분류 스코어에 임시 페널티를 곱한 후 재순위화된다. 최종 추적 경계 박스를 얻기 위해 비-최대-억제(NMS: Non-maximum-suppression)가 나중에 수행된다. 최종 경계 박스가 선택된 후, 형상이 평활하게 변경되도록 선형 보간에 의해 타깃 크기가 업데이트된다.
[000131] 도 12d는 하나 이상의 실시예들에서 RPN 피처 맵의 예시적인 중심 크기를 예시한다. 보다 구체적으로, 도 12d는 RPN 피처 맵에서 중심 크기 7을 예시하고, 각각의 그리드는 대응하는 포지션에서 k 개의 앵커들의 인코딩된 피처를 나타낸다. 예를 들어, 분류 피처 맵에는 전경 및 배경 활성화를 나타내는 2k 개의 채널들이 있다. 앵커들의 중심 크기는 모델의 검색 영역을 나타낸다.
[000132] 상술한 Alexnet과 관련하여, 일부 실시예들은 ILSVRC-2010 및 ILSVRC-2012 대회들에서 사용된 ImageNet의 서브세트들 상에서 지금까지 가장 큰 컨벌루션 신경망 중 하나를 훈련했으며 이러한 데이터세트들에 대해 지금까지 보고된 최고의 결과들을 달성했다. 일부 실시예들은 2D 컨벌루션의 고도로 최적화된 GPU 구현 및 일부 실시예들이 공개적으로 이용 가능하게 하는 훈련 컨벌루션 신경망들에 내재된 다른 모든 연산을 호출한다. 네트워크는 그 성능을 개선하고 훈련 시간을 감소시키는 새롭고 특이한 다수의 피처들을 포함하며, 이는 아래에 상세히 설명한다. 네트워크의 크기는 120만 개의 라벨링된 훈련 예들에서도 과적합을 심각한 문제로 만들었으므로, 일부 실시예들은 아래에 설명되는 과적합을 방지하기 위해 몇 가지 효과적인 기술들을 사용했다. 일부 실시예들에서, 네트워크는 5 개의 컨벌루션 계층들과 3 개의 완전히 연결된 계층들을 포함하며, 이 깊이는 중요한 것으로 보이고: 일부 실시예들은 임의의 컨벌루션 계층(각각의 계층은 모델 파라미터의 1% 이하를 포함)을 제거하면 성능 저하를 초래한다는 것을 발견했다. 일부 실시예들에서, 네트워크의 크기는 주로 현재 GPU들 상에서 이용 가능한 메모리의 양과 일부 실시예에서 허용할 수 있는 훈련 시간의 양에 의해 제한된다. 일부 실시예들의 네트워크는 2 개의 GTX 580 3GB GPU들 상에서 훈련하는 데 5 내지 6일이 걸린다. 모든 실험들은 더 빠른 GPU와 더 큰 데이터세트들이 이용 가능해질 때까지 기다리는 것만으로도 결과들이 개선될 수 있음을 시사한다.
[000133] ImageNet은 약 22,000 개의 카테고리들에 속하는 1,500만 개 초과의 라벨링된 고해상도 이미지들의 데이터세트이다. 이미지들은 웹으로부터 수집되었으며 Amazon의 Mechanical Turk 크라우드-소싱 도구를 사용하여 인간 라벨러에 의해 라벨링되었다. 2010년부터 시작하여, 파스칼 비주얼 오브젝트 챌린지(Pascal Visual Object Challenge)의 일부로서, ImageNet 대규모 비주얼 인식 챌린지(ILSVRC: ImageNet Large-Scale Visual Recognition Challenge)라고 칭하는 연례 대회가 열렸다. ILSVRC는 1000개 카테고리들의 각각에 약 1000 개의 이미지들을 갖는 ImageNet의 서브세트를 사용한다. 전체적으로, 약 120만 개의 훈련 이미지들, 50,000 개의 검증 이미지들 및 150,000 개의 테스트 이미지들이 있다.
[000134] ILSVRC-2010은 테스트 세트 레이블이 이용 가능한 유일한 ILSVRC 버전이므로, 일부 실시예에서 대부분의 실험들을 수행한 버전이다. 일부 실시예들은 또한 ILSVRC-2012 대회에서 모델에 진입했기 때문에, 일부 실시예들은 테스트 세트 레이블이 이용 불가능한 데이터세트의 이러한 버전에 대한 결과들도 보고한다. ImageNet 상에서, 일반적으로 두 가지 오류율: 톱-1 및 톱-5를 보고하며, 여기서 톱-5 오류율은 모델에서 가장 가능성이 높은 것으로 간주되는 5 개 레이블에 올바른 레이블이 없는 테스트 이미지들의 일부이다. ImageNet은 가변-해상도 이미지들로 구성되는 반면, 시스템은 일정한 입력 차원을 필요로 한다. 따라서, 일부 실시예들은 이미지들을 256 × 256의 고정 해상도로 다운-샘플링했다. 직사각형 이미지가 주어졌을 때, 일부 실시예들은 먼저 더 짧은 변의 길이가 256이 되도록 이미지를 리스케일링한 다음 결과적인 이미지로부터 중심의 256 × 256 패치를 잘라내었다. 일부 실시예들은 각각의 픽셀로부터 훈련 세트에 대한 평균 활동을 빼는 것을 제외하고는 임의의 다른 방식으로 이미지들을 사전-프로세싱하지 않았다. 따라서, 일부 실시예들은 픽셀들의 (중심) 미가공 RGB(적색 녹색 청색) 값들에 대해 네트워크를 훈련시켰다.
[000135] 뉴런의 출력 f를 입력 x의 함수로서 모델링하는 표준 방식은 f(x) = tanh(x) 또는 f(x) = (1 + e-x)-1이다. 경사 하강법을 사용한 훈련 시간 측면에서, 이러한 포화 비선형성은 비포화 비선형성 f(x) = max(0, x)보다 훨씬 더 느리다. 일부 실시예들은 이러한 비선형성을 갖는 뉴런들을 정류된 선형 유닛(ReLU)들로 지칭한다. ReLU들을 갖는 딥 컨벌루션 신경망은 tanh 유닛을 갖는 그 등가물보다 몇 배 더 빠르게 훈련한다. 이것이 도 12e에서 입증되며, 이는 특정 4-계층 컨벌루션 네트워크에 대한 CIFAR-10 데이터세트에서 25% 훈련 오류에 도달하는 데 필요한 반복 횟수를 보여준다. 이러한 플롯은 일부 실시예들이 통상적인 포화 뉴런 모델들을 사용했다면 일부 실시예가 이러한 작업을 위해 이러한 대규모 신경망을 실험할 수 없었을 것임을 보여준다.
[000136] 일부 실시예들은 과적합을 방지하므로, 그들이 관찰하는 효과는 일부 실시예들이 ReLU들을 사용할 때 보고하는 훈련 세트에 맞추는 가속된 능력과 다르다. 더 빠른 러닝은 대규모 데이터세트들에 대해 훈련된 대형 모델들의 성능에 큰 영향을 미친다.
[000137] 일부 실시예들은 2 개의 GPU에 걸쳐 네트(net)를 확산시킨다. 현재 GPU들은 호스트 머신 메모리를 거치지 않고 서로의 메모리로부터 직접 판독하고 이에 직접 기입할 수 있기 때문에 교차-GPU 병렬화에 특히 매우 적합하다. 일부 실시예에서 채용하는 병렬화 스킴은 본질적으로 커널들(또는 뉴런들)의 절반을 각각의 GPU 상에 배치하고 하나의 추가 트릭을 가지며: GPU들은 특정 계층들에서만 통신한다. 즉, 이는 예를 들어, 계층 3의 커널들은 계층 2의 모든 커널 맵들로부터 입력을 취한다는 것을 의미한다. 그러나, 계층 4의 커널들은 동일한 GPU 상에 있는 계층 3의 커널 맵들로부터만 입력을 취한다. 연결 패턴을 선택하는 것은 교차-검증의 문제이지만, 이를 통해 컴퓨테이션 양의 허용 가능한 부분이 될 때까지 통신량을 정확하게 조정할 수 있다.
[000138] ReLU들은 포화되는 것을 방지하기 위해 입력 정규화를 필요로 하지 않는다는 바람직한 속성을 가지고 있다. 적어도 일부 훈련 예들이 ReLU에 포지티브 입력을 생성하면, 해당 뉴런에서 러닝이 발생할 것이다. 그러나, 일부 실시예들은 여전히 다음의 로컬 정규화 스킴이 일반화를 돕는다는 것을 발견한다. 포지션 (x, y)에서 커널 i를 적용한 다음 ReLU 비선형성을 적용하여 컴퓨팅된 뉴런의 활동을
Figure pct00046
로 표기하면, 응답-정규화 활동
Figure pct00047
는 이하의 표현에 의해 주어진다:
Figure pct00048
[000139] 여기서 합계는 동일한 공간 포지션에서 n 개의 "인접한" 커널 맵들에 대해 실행되며 N은 계층의 전체 커널 수이다. 커널 맵들의 순서는 물론 임의적이며 훈련이 시작되기 전에 결정된다. 이러한 종류의 응답 정규화는 실제 뉴런들에서 발견되는 유형에서 영감을 받은 측면 억제 형태를 구현하여, 상이한 커널들을 사용하여 컴퓨팅된 뉴런 출력들 사이에서 큰 활동들에 대한 경쟁을 생성한다. 상수 k, n, α 및 β는 검증 세트를 사용하여 그 값들이 결정되는 하이퍼-파라미터이며; 일부 실시예들은 k = 2, n = 5, α = 10-4 및 β = 0.75를 사용했다. 일부 실시예들은 특정 계층들에서 ReLU 비선형성을 적용한 후에 이러한 정규화를 적용했다.
[000140] 이러한 스킴은 로컬 콘트라스트 정규화 스킴과 다소 유사하지만, 일부 실시예들은 평균 활동을 빼지 않기 때문에 이것은 "밝기 정규화"라고 더 정확하게 명명될 것이다. 응답 정규화는 톱-1 및 톱-5 오류율을 각각 1.4% 및 1.2%만큼 감소시킨다. 일부 실시예들은 또한 CIFAR-10 데이터세트에 대한 이러한 스킴의 효과를 검증했으며: 4-계층 CNN은 정규화 없이 13%, 정규화로 11%의 테스트 오류율을 달성했다.
[000141] CNN들의 풀링(pooling) 계층들은 동일한 커널 맵에서 뉴런의 이웃 그룹들의 출력들을 요약한다. 통상적으로, 인접한 풀링 유닛들로 요약된 이웃들은 중첩하지 않는다. 더 정확히 말하면, 풀링 계층은 풀링 유닛의 위치를 중심으로 z x z 크기의 이웃을 각각 요약하는 s 픽셀 이격된 풀링 유닛들의 그리드로 구성되는 것으로 생각할 수 있다. s = z로 설정되면, 일부 실시예들은 CNN들에서 일반적으로 채용되는 통상적인 로컬 풀링을 획득한다. s < z로 설정되면, 일부 실시예들은 중첩 풀링을 획득한다. 이것은 일부 실시예들이 s = 2 및 z = 3인 네트워크 전체에서 사용하는 것입니다. 이러한 스킴은 등가 치수의 출력을 생성하는 비중첩 스킴 s = 2, z = 2와 비교할 때 톱-1 및 톱-5 오류율을 각각 0.4% 및 0.3%만큼 감소시킨다. 일부 실시예들은 일반적으로 중첩하는 풀링을 갖는 모델들이 과적합하기가 약간 더 어렵다는 것을 훈련 중에 관찰한다.
[000142] 네트워크는 가중치들을 갖는 8 개의 계층들을 포함하며; 처음 5 개는 컨벌루션이고 나머지 3 개는 완전-연결된다. 마지막 완전-연결된 계층의 출력은 1000 개의 클래스 레이블들에 대한 분포를 생성하는 1000-웨이 소프트맥스로 공급된다. 네트워크는 다항 로지스틱 회귀 목표를 최대화하며, 이는 예측 분포 하에서 올바른 레이블의 로그-확률의 훈련 사례들에 걸친 평균을 최대화하는 것과 동등하다.
[000143] 두 번째, 네 번째 및 다섯 번째 컨벌루션 계층들의 커널들은 동일한 GPU 상에 상주하는 이전 계층의 해당 커널 맵들에만 연결된다(도 2 참조). 세 번째 컨벌루션 계층의 커널들은 두 번째 계층의 모든 커널 맵들에 연결된다. 완전-연결된 계층들의 뉴런들은 이전 계층의 모든 뉴런들에 연결된다. 응답-정규화 계층들은 첫 번째 및 두 번째 컨벌루션 계층들을 따른다. 섹션 3.4에서 설명된 종류의 최대-풀링 계층들은 응답-정규화 계층들뿐만 아니라 다섯 번째 컨벌루션 계층을 모두 따른다. ReLU 비선형성은 모든 컨벌루션 및 완전-연결된 계층의 출력에 적용된다.
[000144] 첫 번째 컨벌루션 계층은 4 픽셀들의 스트라이드(커널 맵에서 이웃 뉴런들의 수용 필드 중심들 사이의 거리)로 크기 11 × 11 × 3의 96 개의 커널들로 224 × 224 × 3 입력 이미지를 필터링한다. 두 번째 컨벌루션 계층은 첫 번째 컨벌루션 계층의 (응답-정규화 및 풀링된) 출력을 입력으로서 취하여 이를 5 × 5 × 48 크기의 256 개 커널들로 필터링한다. 세 번째, 네 번째 및 다섯 번째 컨벌루션 계층들은 어떠한 중간 풀링 또는 정규화 계층들 없이 서로에 대해 연결된다. 세 번째 컨벌루션 계층은 두 번째 컨벌루션 계층의 (정규화되고 풀링된) 출력에 연결된 3 × 3 × 256 크기의 384 개 커널을 갖는다. 네 번째 컨벌루션 계층은 크기가 3 × 3 × 192인 384 개의 커널들을 갖고, 다섯 번째 컨벌루션 계층은 크기가 3 × 3 × 192인 256 개의 커널들을 갖는다. 완전-연결된 계층들은 각각 4096 개의 뉴런들을 갖는다.
[000145] 일부 실시예들에서, 신경망 아키텍처는 6천만 개의 파라미터들을 갖는다. ILSVRC의 1000 개 클래스들은 각 훈련 예가 이미지로부터 레이블로의 매핑에 10 비트의 제약 조건을 부과하도록 하지만, 상당한 과적합 없이 많은 파라미터들을 학습하기에는 불충분한 것으로 판명되었다. 아래에서, 일부 실시예들은 일부 실시예들이 과적합과 싸우는 두 가지 기본 방식들을 설명한다.
[000146] 일부 실시예들에서, 이미지 데이터에 대한 과적합을 감소시키는 것은 라벨-보존 변환들을 사용하여 데이터세트를 인위적으로 확대하는 것이다. 일부 실시예들은 데이터 증강의 2 개의 별개의 형태를 채용하며, 둘 모두 변환된 이미지들이 매우 적은 컴퓨테이션으로 원래 이미지들로부터 생성되도록 허용하므로, 변환된 이미지들이 디스크 상에 저장될 필요가 없다. 예시적인 구현에서, 변환된 이미지들은 GPU가 이미지의 이전 배치 상에서 훈련되는 동안 CPU 상의 파이썬(Python) 코드에서 생성된다. 이러한 실시예들에서, 증강 스킴의 이러한 데이터는 실제로 계산적으로 자유롭다.
[000147] 데이터 증강의 첫 번째 형태는 이미지 변환 및 수평 반사 생성으로 구성된다. 일부 실시예들은 256 × 256 이미지들로부터 랜덤한 224 × 224 패치들(및 그 수평 반사들)을 추출하고 이러한 추출된 패치들 4 상에서 네트워크를 훈련함으로써 이를 수행한다. 물론 결과적인 훈련 예는 매우 상호-의존적이지만, 이것은 2048의 팩터만큼 훈련 세트의 크기를 증가시킨다. 이러한 스킴이 없으면, 네트워크는 상당한 과적합을 겪게 되며, 이는 훨씬 더 작은 네트워크들을 사용하도록 강제할 것이다. 테스트 시간에, 네트워크는 5 개의 224 × 224 패치들(4개의 코너 패치들과 중심 패치)뿐만 아니라 수평 반사들(따라서 총 10 개의 패치들)을 추출하고 10 개의 패치들 상의 네트워크의 소프트맥스 계층에 의해 만들어진 예측들을 평균화하여 예측을 한다.
[000148] 데이터 증강의 두 번째 형태는 훈련 이미지에서 RGB 채널들의 강도를 변경하는 것으로 구성된다. 구체적으로, 일부 실시예들은 ImageNet 훈련 세트 전체에 걸쳐 RGB 픽셀 값들의 세트에 대해 PCA를 수행한다. 각각의 훈련 이미지에 대해, 일부 실시예들은 평균 0 및 표준 편차 0.1을 갖는 가우시안(Gaussian)으로부터 인출된 랜덤 변수에 대응하는 고유값을 곱한 것에 비례하는 크기로 발견된 주 구성 요소들의 배수들을 더한다. 따라서, 각각의 RGB 이미지 픽셀
Figure pct00049
에 대해, 일부 실시예들은 이하의 수량을 추가한다:
Figure pct00050
[000149] 여기서 pi와 λi는 각각 RGB 픽셀 값들의 3 × 3 공분산 행렬의 i번째 고유 벡터와 고유값이고, αi는 앞서 언급한 랜덤 변수이다. 각각의 αi는 그 시점에서 다시 인출되는 해당 이미지가 다시 훈련에 사용될 때까지 특정 훈련 이미지의 모든 픽셀들에 대해 한 번만 인출된다. 이러한 스킴은 자연 이미지들의 중요한 속성을 근사적으로 캡처하며, 즉, 객체 아이덴티티는 조명의 강도와 컬러의 변화에 따라 변하지 않는다. 이러한 스킴은 톱-1 오류율을 1% 초과만큼 감소시킨다.
[000150] 많은 상이한 모델들의 예측들을 결합하는 것은 테스트 오류들을 줄이는 매우 성공적인 방식이지만, 이미 훈련하는 데 며칠이 걸리는 대규모 신경망에는 비용이 너무 많이 드는 것으로 보인다. 그러나, 훈련 동안 비용이 약 2배에 불과한 매우 효율적인 버전의 모델 조합이 있다. 최근에 소개된 "드롭아웃(dropout)"이라는 기술은 각각의 숨겨진 뉴런의 출력을 0.5의 확률로 0으로 설정하는 것으로 구성된다. 이러한 방식으로 "드롭 아웃"된 뉴런들은 정방향 전달에 기여하지 않으며 역-전파에 참여하지 않는다. 따라서, 입력이 제공될 때마다, 신경망은 상이한 아키텍처를 샘플링하지만 이러한 모든 아키텍처들은 가중치를 공유한다. 이러한 기술은 뉴런이 특정의 다른 뉴런들의 존재에 의존할 수 없기 때문에 뉴런들의 복잡한 공동-적응을 감소시킨다. 따라서, 다른 뉴런들의 다수의 상이한 랜덤 서브세트와 함께 유용한 보다 강력한 피처들을 학습해야 한다. 테스트 시간에, 일부 실시예들은 모든 뉴런들을 사용하지만 그 출력들에 0.5를 곱하며, 이는 기하급수적으로 많은 드롭아웃 네트워크들에 의해 생성된 예측 분포들의 기하 평균을 취하는 데 합리적인 근사이다.
[000151] 일부 실시예들은 도 2의 처음 2 개의 완전-연결된 계층들에서 드롭아웃을 사용한다. 드롭아웃이 없으면, 네트워크는 상당한 과적합을 나타낸다. 드롭아웃은 수렴하는 데 필요한 반복 횟수를 대략 두 배로 늘린다.
[000152] 일부 실시예들은 128 개의 예의 배치 크기, 0.9의 모멘텀 및 0.0005의 가중치 감쇠를 갖는 확률적 경사 하강법을 사용하여 모델들을 훈련시켰다. 일부 실시예들은 이러한 소량의 가중치 감쇠가 모델이 학습하는 데 중요하다는 것을 발견했습니다. 즉, 여기서 가중치 감쇠는 단순한 정규화기가 아니라: 모델의 훈련 오류를 감소시킨다. 가중치 w에 대한 업데이트 규칙은 다음과 같다:
Figure pct00051
[000153] 여기서 i는 반복 인덱스이고, v는 모멘텀 변수,
Figure pct00052
는 학습률, 및
Figure pct00053
는 wi에서 평가된, w에 대한 목적 도함수의 i번째 배치 Di에 대한 평균이다.
[000154] 일부 실시예들은 표준 편차 0.01을 갖는 제로-평균 가우시안 분포로부터 각각의 계층의 가중치들을 초기화하였다. 일부 실시예들은 두 번째, 네 번째 및 다섯 번째 컨벌루션 계층들뿐만 아니라 완전-연결된 숨겨진 계층들에서 상수 1로 뉴런 바이어스들을 초기화했다. 이러한 초기화는 ReLU(정류된 선형 유닛)들에 포지티브 입력들을 제공하여 러닝의 초기 단계들을 가속화한다. 일부 실시예들은 상수 0으로 나머지 계층들에서의 뉴런 바이어스들을 초기화했다.
[000155] 일부 실시예들은 모든 계층들에 대해 동일한 학습률을 사용했으며, 일부 실시예들은 훈련 전체에 걸쳐 수동으로 조정했다. 일부 실시예들이 따르는 휴리스틱(heuristic)은 검증 오류율이 현재 학습률로 개선되는 것을 멈출 때 학습률을 10으로 나누는 것이었다. 학습률은 0.01로 초기화되었고 종료하기 전에 3배로 감소되었다. 일부 실시예들은 120만 개의 이미지들의 훈련 세트를 통해 대략 90 사이클 동안 네트워크를 훈련시켰다.
[000156] 도 13은 하나 이상의 실시예들에서 도 12a에 예시된 상위-레벨 블록도의 일부에 대한 보다 상세한 사항을 예시한다. 보다 구체적으로, 도 13은 도 12a의 1206에서 딥 러닝 모델을 사용하여 이미지 상에 딥 러닝 프로세스를 수행하여 딥 러닝 결과를 생성하는 것에 대한 보다 상세한 사항을 예시한다. 이러한 하나 이상의 실시예들에서, 캡처된 이미지 및/또는 검색 이미지의 영역의 피처(예를 들어, 정점, 에지, 표면 등) 또는 피처 포인트(예를 들어, 피처에 관한 포인트 노드)는 딥 러닝 모델에서 적어도 딥 컨벌루션 신경망(DCNN)을 사용하여 1302에서 추출될 수 있다. 이러한 실시예들 중 일부에서, 딥 러닝 모델은 DCNN에 추가하여 이미지 정합 프로세스를 추가로 포함할 수 있다. 달리 명시적으로 서로 구별되지 않는 한, "피처" 및 "피처 포인트"라는 용어는 명세서 전반에 걸쳐 상호 교환되어 사용될 수 있음에 유의해야 한다.
[000157] 1302에서 추출된 피처 또는 피처 포인트는 1304에서 적어도 제1 피처 및 제2 피처를 포함하는 복수의 피처들로 변환될 수 있다. 영역은 제1 피처에 적어도 부분적으로 기초하여 1306에서 분류될 수 있으며; 회귀 또는 보정은 1308에서 제2 피처에 적어도 부분적으로 기초하여 결정될 수 있다. 일부 실시예들에서, 영역은 1306에서 제2 피처가 아닌 제1 피처에만 기초하여 분류될 수 있다. 추가로 또는 대안적으로, 영역에 대한 회귀를 결정하는 것은 제1 피처가 아닌 제2 피처에 적어도 부분적으로 기초한다.
[000158] 도 14a는 하나 이상의 실시예들에서 도 12a에 예시된 상위-레벨 블록도의 다른 부분에 대한 보다 상세한 사항을 예시한다. 보다 구체적으로, 도 14a는 도 12a의 1206에서 딥 러닝 모델을 사용하여 이미지에 딥 러닝 과정을 수행하여 딥 러닝 결과를 생성하는 것에 대한 보다 상세한 사항을 예시한다. 이러한 하나 이상의 실시예들에서, 캡처된 이미지 및/또는 검색 이미지의 영역의 피처 또는 피처 포인트는 DCNN을 사용하여 1402에서 추출될 수 있다.
[000159] 1402에서 추출된 피처 또는 피처 포인트는 1404에서 적어도 제1 피처 및 제2 피처를 포함하는 복수의 피처들로 변환될 수 있다. 1406에서 DCNN의 컨벌루션 계층들의 세트에 제2 피처를 제공하는 것과 같이 적어도 DCNN의 하나 이상의 컨벌루션 계층들을 사용하여 적어도 제1 피처를 컨벌빙함으로써 제1 응답 맵이 생성될 수 있다. 그 후 영역은 1408에서 적어도 제1 응답 맵을 사용하여 포지션 영역(예를 들어, 관심 있는 타깃 영역) 또는 네거티브 영역(예를 들어, 무시될 수 있는 논-타깃 영역)으로 분류될 수 있다.
[000160] 제2 응답 맵은 또한 제2 피처를 DCNN의 컨벌루션 계층들의 세트에 제공하는 것과 같이 적어도 DCNN과 제2 피처를 컨벌빙함으로써 1410에서 생성될 수 있다. 회귀 또는 보정은 적어도 제2 응답 맵을 사용하여 1412에서 해당 영역에 대해 결정될 수 있다. 일부 실시예들에서, 딥 컨벌루션 신경망 및/또는 DCNN을 포함하는 딥 러닝 모델은 적어도 이미지 정합 프로세스를 사용하여 1414에서 보상될 수 있다. 이러한 실시예들 중 일부에서, 딥 러닝 모델은 딥 컨벌루션 신경망(DCNN)에 추가하여 이미지 정합 프로세스를 포함할 수 있다.
[000161] 도 13 및/또는 14a에 예시된 일부 실시예들에서, 딥 컨벌루션 신경망은 예를 들어, 그 성능을 개선하고 훈련 시간을 줄이는 다수의 새롭고 특이한 피처들을 포함할 수 있으며, 이에 대해서는 아래에서 더 상세히 설명한다. 네트워크의 크기는 120만 개의 라벨링된 훈련 예들에서도 과적합을 상당한 문제로 만들었으므로, 일부 실시예들은 과적합을 방지하기 위해 몇 가지 효과적인 기술들을 사용했으며 이에 대해서는 아래에서 더 상세히 설명한다. 최종 네트워크는 5 개의 컨벌루션 계층들과 3 개의 완전-연결된 계층을 포함하며, 이러한 깊이가 중요한 것으로 보이며: 임의의 컨벌루션 계층(각각 모델 파라미터의 1% 이하 포함)을 제거하면 성능이 저하되는 것으로 나타났다.
[000162] 일부 실시예들에서, 네트워크의 크기는 주로 현재 GPU들 상에서 이용 가능한 메모리의 양과 일부 실시예들이 허용할 수 있는 훈련 시간의 양에 의해 제한된다. 네트워크는 2 개의 GTX 580 3GB GPU들 상에서 훈련하는 데 5 내지 6일이 걸린다. 이러한 모든 실험들은 더 빠른 GPU들과 더 큰 데이터세트들이 이용 가능하게 될 때까지 기다리는 것만으로도 결과들이 개선될 수 있음을 시사한다.
[000163] 데이터세트:
[000164] ImageNet은 대략 22,000 개의 카테고리에 속하는 1,500만 개 초과의 라벨링된 고해상도 이미지들의 데이터세트를 포함한다. 이미지들은 웹으로부터 수집되었으며 Amazon의 Mechanical Turk 크라우드-소싱 도구를 사용하여 인간 라벨러에 의해 라벨링되었다. 2010년부터 시작하여, 파스칼 비주얼 오브젝트 챌린지의 일부로서, ImageNet 대규모 비주얼 인식 챌린지(ILSVRC)라고 칭하는 연례 대회가 열렸다. ILSVRC는 1000개 카테고리들의 각각에 약 1000 개의 이미지들을 갖는 ImageNet의 서브세트를 사용한다. 전체적으로, 약 120만 개의 훈련 이미지들, 50,000 개의 검증 이미지들 및 150,000 개의 테스트 이미지들이 있다.
[000165] ILSVRC-2010은 테스트 세트 레이블이 이용 가능한 ILSVRC 버전이므로, 일부 실시예에서 대부분의 실험들을 수행한 버전이다. 일부 실시예들은 또한 ILSVRC-2012 대회에서 모델에 진입했기 때문에, 일부 실시예들은 테스트 세트 레이블이 이용 불가능한 데이터세트의 이러한 버전에 대한 결과들도 보고한다. ImageNet 상에서, 일반적으로 두 가지 오류율: 톱-1 및 톱-5를 보고하며, 여기서 톱-5 오류율은 모델에서 가장 가능성이 높은 것으로 간주되는 5 개 레이블에 올바른 레이블이 없는 테스트 이미지들의 일부이다.
[000166] ImageNet은 가변-해상도 이미지들로 구성되는 반면, 예시적인 시스템은 일정한 입력 차원을 필요로 한다. 따라서, 일부 실시예들은 이미지들을 256 × 256의 고정 해상도로 다운-샘플링했다. 직사각형 이미지가 주어졌을 때, 일부 실시예들은 먼저 더 짧은 변의 길이가 256이 되도록 이미지를 리스케일링한 다음 결과적인 이미지로부터 중심의 256 × 256 패치를 잘라내었다. 일부 실시예들은 각각의 픽셀로부터 훈련 세트에 대한 평균 활동을 빼는 것을 제외하고는 임의의 다른 방식으로 이미지들을 사전-프로세싱하지 않았다. 일부 실시예들은 픽셀들의 (중심) 미가공 RGB 값들에 대해 네트워크를 훈련시켰다.
[000167] 아키텍처:
[000168] 네트워크의 아키텍처는 도 2에 요약되어 있다. 이는 8 개의 학습된 계층을 포함하며, 5 개는 컨벌루션 계층이고, 3 개는 완전-연결된 계층이다. 아래에서, 일부 실시예들은 네트워크 아키텍처의 새롭거나 특이한 피처들 중 일부를 설명한다.
[000169] ReLU 비선형성:
[000170] 그 입력 x의 함수로서 뉴런의 출력 f를 모델링하는 표준 방식은 f(x) = tanh(x) 또는 f(x) = (1 + e-x)-1이다. 경사 하강법을 사용한 훈련 시간 측면에서, 이러한 포화 비선형성은 비포화 비선형성 f(x) = max(0, x)보다 훨씬 더 느리다. 일부 실시예들은 이러한 비선형성을 갖는 뉴런들을 정류된 선형 유닛(ReLU)들로 지칭한다. ReLU들을 갖는 딥 컨벌루션 신경망은 tanh 유닛을 갖는 그 등가물보다 몇 배 더 빠르게 훈련한다. 이것이 도 12e에서 입증되며, 이는 특정 4-계층 컨벌루션 네트워크에 대한 CIFAR-10 데이터세트에서 25% 훈련 오류에 도달하는 데 필요한 반복 횟수를 보여준다. 이러한 플롯은 일부 실시예들이 통상적인 포화 뉴런 모델들을 사용했다면 일부 실시예가 이러한 작업을 위해 이러한 대규모 신경망을 실험할 수 없었을 것임을 보여준다.
[000171] 일부 실시예들은 CNN들에서 통상적인 뉴런 모델들에 대한 대안을 고려한다. 일부 실시예들에서, 비선형성 f(x) = |tanh(x)|는 Caltech-101 데이터세트에서 로컬 평균 풀링이 후속하는 콘트라스트 정규화의 유형과 잘 작동한다. 그러나, 이 데이터세트에서 주요 관심사는 과적합을 방지하는 것이므로, 관찰하는 효과는 ReLU들을 사용할 때 일부 실시예들에서 보고하는 훈련 세트에 맞는 가속화된 능력과 다르다. 더 빠른 러닝은 대규모 데이터세트에서 훈련된 대형 모델의 성능에 큰 영향을 미친다.
[000172] 로컬 응답 정규화:
[000173] ReLU들은 포화를 방지하기 위해 입력 정규화를 필요로 하지 않는다는 바람직한 속성을 갖는다. 적어도 일부 훈련 예들이 ReLU에 포지티브 입력을 생성하면, 해당 뉴런에서 러닝이 발생한다. 그러나, 일부 실시예들은 여전히 후속하는 로컬 정규화 스킴이 일반화를 돕는다는 것을 알 수 있다. 포지션 (x, y)에서 커널 i를 적용한 다음 ReLU 비선형성을 적용하여 컴퓨팅된 뉴런의 활동을 a i x,y로 표기하면, 응답 정규화 활동 b i x,y는 다음 표현으로 제공된다:
Figure pct00054
[000174] 여기서 합계는 동일한 공간 포지션에서 n 개의 "인접한" 커널 맵들에 대해 실행되며 N은 계층의 커널들의 총 개수이다. 커널 맵들의 순서는 물론 임의적이며 훈련이 시작되기 전에 결정된다. 이러한 종류의 응답 정규화는 실제 뉴런들에서 발견되는 유형에서 영감을 받은 측면 억제의 형태를 구현하여 상이한 커널들을 사용하여 컴퓨팅된 뉴런 출력들 사이에서 큰 활동들에 대한 경쟁을 생성한다. 상수 k, n, α 및 β는 검증 세트를 사용하여 값이 결정되는 하이퍼-파라미터이고; 일부 실시예들은 k = 2, n = 5, α = 10-4 및 β = 0.75를 사용했다. 일부 실시예들은 특정 계층들에서 ReLU 비선형성을 적용한 후에 이러한 정규화를 적용했다.
[000175] 일부 실시예들은 평균 활동을 빼지 않기 때문에 본원에서 설명되는 이러한 실시예들은 "밝기 정규화"라고 더 많이 명명될 수 있다. 응답 정규화는 톱-1 및 톱-5 오류율을 각각 1.4% 및 1.2%만큼 감소시킨다. 일부 실시예들은 또한 CIFAR-10 데이터세트에 대한 이러한 스킴의 효과를 검증했으며: 4-계층 CNN은 정규화 없이 13%, 정규화로 11%의 테스트 오류율을 달성했다.
[000176] 중첩 풀링:
[000177] CNN들의 풀링 계층들은 동일한 커널 맵에서 인접한 뉴런들의 그룹들의 출력들을 요약한다. 통상적으로 인접한 풀링 유닛들에 의해 요약된 이웃들은 중첩하지 않는다. 더 정확히 말하면, 풀링 계층은 풀링 유닛의 위치를 중심으로 z x z 크기의 이웃을 각각 요약하는 s 픽셀 이격된 풀링 유닛들의 그리드로 구성되는 것으로 생각할 수 있다. 일부 실시예들이 s = z로 설정하면, 이러한 실시예들은 CNN들에서 일반적으로 채용되는 통상적인 로컬 풀링을 획득할 수 있다. 일부 실시예들이 s < z로 설정하면, 이러한 실시예들은 중첩 풀링을 획득한다. 이것은 일부 실시예들이 s = 2 및 z = 3인 예시적인 네트워크 전체에서 사용하는 것이다. 이러한 스킴은 동등한 치수들의 출력을 생성하는 s = 2, z = 2의 비중첩 스킴과 비교할 때, 톱-1 및 톱-5 오류율을 각각 0.4% 및 0.3%만큼 감소시킨다. 일부 실시예들은 일반적으로 중첩되는 풀링을 갖는 모델이 과적합하기가 약간 더 어렵다는 것을 훈련 중에 관찰한다.
[000178] 전체 아키텍처:
[000179] 일부 실시예들은 예시 CNN의 전체 아키텍처를 설명할 준비가 되어 있다. 도 2에 도시된 바와 같이 네트는 가중치들을 갖는 8 개의 계층들을 포함하며; 처음 5 개는 컨벌루션이고 나머지 3 개는 완전-연결된다. 마지막 완전-연결된 계층의 출력은 1000 개의 클래스 레이블들에 대한 분포를 생성하는 1000-웨이 소프트맥스로 공급된다. 예시적인 네트워크는 다항 로지스틱 회귀 목표를 최대화하며, 이는 예측 분포 하에서 올바른 레이블의 로그-확률의 훈련 사례들에 걸친 평균을 최대화하는 것과 동등하다.
[000180] 두 번째, 네 번째 및 다섯 번째 컨벌루션 계층들의 커널들은 동일한 GPU 상에 상주하는 이전 계층의 해당 커널 맵들에만 연결된다(하나 이상의 실시예들에서 예시적인 딥 컨벌루션 신경망을 예시하는 도 14b 참조). 세 번째 컨벌루션 계층의 커널들은 두 번째 계층의 모든 커널 맵들에 연결된다. 완전-연결된 계층들의 뉴런들은 이전 계층의 모든 뉴런들에 연결된다. 응답-정규화 계층들은 첫 번째 및 두 번째 컨벌루션 계층들을 따른다. 아래에서 설명되는 종류의 최대-풀링 계층들은 응답-정규화 계층들뿐만 아니라 다섯 번째 컨벌루션 계층을 모두 따른다. ReLU 비선형성은 모든 컨벌루션 및 완전-연결된 계층의 출력에 적용된다.
[000181] 첫 번째 컨벌루션 계층은 4 픽셀들의 스트라이드(커널 맵에서 이웃 뉴런들의 수용 필드 중심들 사이의 거리)로 크기 11 × 11 × 3의 96 개의 커널들로 224 × 224 × 3 입력 이미지를 필터링한다. 두 번째 컨벌루션 계층은 첫 번째 컨벌루션 계층의 (응답-정규화 및 풀링된) 출력을 입력으로서 취하여 이를 5 × 5 × 48 크기의 256 개 커널들로 필터링한다. 세 번째, 네 번째 및 다섯 번째 컨벌루션 계층들은 어떠한 중간 풀링 또는 정규화 계층들 없이 서로에 대해 연결된다. 세 번째 컨벌루션 계층은 두 번째 컨벌루션 계층의 (정규화되고 풀링된) 출력들에 연결된 3 × 3 × 256 크기의 384 개 커널을 갖는다. 네 번째 컨벌루션 계층은 크기가 3 × 3 × 192인 384 개의 커널들을 갖고, 다섯 번째 컨벌루션 계층은 크기가 3 × 3 × 192인 256 개의 커널들을 갖는다. 완전-연결된 계층들은 각각 4096 개의 뉴런들을 갖는다.
[000182] 과적합 감소:
[000183] 예시적인 신경망 아키텍처는 6천만 개의 파라미터들을 갖는다. ILSVRC의 1000 개 클래스들은 각 훈련 예가 이미지로부터 레이블로의 매핑에 10 비트의 제약 조건을 부과하도록 하지만, 상당한 과적합 없이 이렇게 많은 파라미터들을 학습하기에는 불충분한 것으로 판명되었다. 아래에서, 일부 실시예들은 일부 실시예들이 과적합과 싸우는 두 가지 기본 방식들을 설명한다.
[000184] 데이터 증강:
[000185] 이미지 데이터에 대한 과적합을 감소시키는 하나의 방식은 라벨-보존 변환들을 사용하여 데이터세트를 인위적으로 확대하는 것이다. 일부 실시예들은 데이터 증강의 2 개의 별개의 형태를 채용하며, 둘 모두 변환된 이미지들이 매우 적은 컴퓨테이션으로 원래 이미지들로부터 생성되도록 허용하므로, 변환된 이미지들이 디스크 상에 저장될 필요가 없다. 예시적인 구현에서, 변환된 이미지들은 GPU가 이미지의 이전 배치 상에서 훈련되는 동안 CPU 상의 파이썬 코드에서 생성된다. 따라서, 증강 스킴들의 이러한 데이터는 실제로 계산적으로 자유롭다.
[000186] 데이터 증강의 첫 번째 형태는 이미지 변환 및 수평 반사 생성으로 구성된다. 일부 실시예들은 256 × 256 이미지들로부터 랜덤한 224 × 224 패치들(및 그 수평 반사들)을 추출하고 이러한 추출된 패치들 4 상에서 예시적인 네트워크를 훈련함으로써 이를 수행한다. 물론 결과적인 훈련 예는 매우 상호-의존적이지만, 이것은 2048의 팩터만큼 예시적인 훈련 세트의 크기를 증가시킨다. 이러한 스킴이 없으면, 예시적인 네트워크는 상당한 과적합을 겪게 되며, 이는 훨씬 더 작은 네트워크들을 사용하도록 강제할 것이다. 테스트 시간에, 네트워크는 5 개의 224 × 224 패치들(4개의 코너 패치들과 중심 패치)뿐만 아니라 수평 반사들(따라서 총 10 개의 패치들)을 추출하고 10 개의 패치들 상의 네트워크의 소프트맥스 계층에 의해 만들어진 예측들을 평균화하여 예측을 한다.
[000187] 데이터 증강의 두 번째 형태는 훈련 이미지들에서 RGB 채널들의 강도들을 변경하는 것으로 구성된다. 구체적으로, 일부 실시예들은 ImageNet 훈련 세트 전체에 걸쳐 RGB 픽셀 값들의 세트에 대해 PCA를 수행한다. 각각의 훈련 이미지에 대해, 일부 실시예들은 평균 0 및 표준 편차 0.1을 갖는 가우시안으로부터 인출된 랜덤 변수에 대응하는 고유값을 곱한 것에 비례하는 크기로 발견된 주 구성 요소들의 배수들을 더한다. 따라서, 각각의 RGB 이미지 픽셀
Figure pct00055
에 대해, 일부 실시예들은 이하의 수량을 추가한다:
Figure pct00056
[000188] 위의 공식에서, pi와 λi는 각각 RGB 픽셀 값들의 3 × 3 공분산 행렬의 i번째 고유 벡터와 고유값이고, αi는 앞서 언급한 랜덤 변수이다. 각각의 αi는 그 시점에서 다시 인출되는 해당 이미지가 다시 훈련에 사용될 때까지 특정 훈련 이미지의 모든 픽셀들에 대해 한 번만 인출된다. 이러한 스킴은 자연 이미지들의 중요한 속성을 근사적으로 캡처하며, 즉, 객체 아이덴티티는 조명의 강도와 컬러의 변화에 따라 변하지 않는다. 이러한 스킴은 톱-1 오류율을 1% 초과만큼 감소시킨다.
[000189] 드롭아웃:
[000190] 많은 상이한 모델들의 예측들을 결합하는 것은 테스트 오류들을 줄이는 매우 성공적인 방식이지만, 이미 훈련하는 데 며칠이 걸리는 대규모 신경망에는 비용이 너무 많이 드는 것으로 보인다. 그러나, 훈련 동안 비용이 약 2배에 불과한 매우 효율적인 버전의 모델 조합이 있다. 최근에 소개된 "드롭아웃"이라는 기술은 각각의 숨겨진 뉴런의 출력을 0.5의 확률로 0으로 설정하는 것을 포함한다. 이러한 방식으로 "드롭 아웃"된 뉴런들은 정방향 전달에 기여하지 않으며 역전파에 참여하지 않는다. 따라서, 입력이 제공될 때마다, 신경망은 상이한 아키텍처를 샘플링하지만 이러한 모든 아키텍처들은 가중치들을 공유한다. 이러한 기술은 뉴런이 특정의 다른 뉴런들의 존재에 의존할 수 없기 때문에 뉴런들의 복잡한 공동-적응을 감소시킨다. 따라서, 다른 뉴런들의 다수의 상이한 랜덤 서브세트들과 함께 유용한 보다 강력한 피처들을 학습해야 한다. 테스트 시간에, 일부 실시예들은 모든 뉴런들을 사용하지만 그 출력들에 0.5를 곱하며, 이는 기하급수적으로 많은 드롭아웃 네트워크들에 의해 생성된 예측 분포들의 기하 평균을 취하는 데 합리적인 근사이다.
[000191] 일부 실시예들은 도 2의 처음 2 개의 완전-연결된 계층들에서 드롭아웃을 사용한다. 드롭아웃이 없으면, 예시적인 네트워크는 상당한 과적합을 나타낸다. 드롭아웃은 수렴하는 데 필요한 반복 횟수를 대략 두 배로 늘린다.
[000192] 러닝의 상세 사항:
[000193] 일부 실시예들은 128 개의 예의 배치 크기, 0.9의 모멘텀 및 0.0005의 가중치 감쇠를 갖는 확률적 경사 하강법을 사용하여 모델들을 훈련시켰다. 일부 실시예들은 이러한 소량의 가중치 감쇠가 모델이 학습하는 데 중요한 것으로 결정했다. 즉, 여기서 가중치 감쇠는 단순한 정규화기가 아니라: 모델의 훈련 오류를 감소시킨다. 가중치 w에 대한 업데이트 규칙은 다음과 같다:
Figure pct00057
[000194] 여기서 i는 반복 인덱스이고, v는 모멘텀 변수,
Figure pct00058
는 학습률, 및
Figure pct00059
는 wi에서 평가된, w에 대한 목적 도함수의 i번째 배치 Di에 대한 평균이다.
[000195] 일부 실시예들은 표준 편차 0.01을 갖는 제로-평균 가우시안 분포로부터 각각의 계층의 가중치들을 초기화하였다. 일부 실시예들은 두 번째, 네 번째 및 다섯 번째 컨벌루션 계층들뿐만 아니라 완전-연결된 숨겨진 계층들에서 상수 1로 뉴런 바이어스들을 초기화했다. 이러한 초기화는 ReLU들에 포지티브 입력들을 제공하여 러닝의 초기 단계들을 가속화한다. 일부 실시예들은 상수 0으로 나머지 계층들에서의 뉴런 바이어스들을 초기화했다.
[000196] 일부 실시예들은 모든 계층들에 대해 동일한 학습률을 사용했으며, 일부 실시예들은 훈련 전체에 걸쳐 수동으로 조정했다. 일부 실시예들이 따르는 휴리스틱은 검증 오류율이 현재 학습률로 개선되는 것을 멈출 때 학습률을 10으로 나누는 것이었다. 학습률은 0.01로 초기화되었고 종료하기 전에 3배로 감소되었다. 일부 실시예들은 120만 개의 이미지들의 훈련 세트를 통해 대략 90 사이클 동안 네트워크를 훈련시켰다.
[000197] 도 15a는 하나 이상의 실시예들에서, 도 12a에 예시된 상위-레벨 블록도의 다른 부분에 대한 더 많은 상세 사항을 예시한다. 보다 구체적으로, 도 15a는 적어도 칼만 필터 모델과 앞서 언급한 딥 러닝 결과로 이미지 정합 프로세스를 수행하여 이미지를 로컬화하는 것에 대한 보다 상세한 사항을 예시한다. 이러한 하나 이상의 실시예들에서, 딥 러닝 프로세스 및/또는 딥 러닝 프로세스에 의해 생성된 딥 러닝 결과들은 1502A에서 상태 천이 모델에 매립될 수 있다. 일부 실시예들에서, 상태 천이 모델은 이전 시점에서의 이전 포지션 상태에 적어도 부분적으로 기초하고 프로세스 잡음 또는 상태 추정 모델의 제어 벡터 중 적어도 하나에 기초하여 다음 시점에서 다음 포지션 상태를 결정한다. 이러한 실시예들 중 일부에서, 상태 천이 모델은 1차 상태 추정 모델을 포함한다.
[000198] 예시적인 상태 천이 모델은 아래와 같을 수 있다:
Figure pct00060
(1)
[000199] 위의 식 (1)에서 Xk, Yk는 x 및 y 방향에서 시간 k에서의 포지션 상태를 나타낸다. wk는 일부 실시예들에서 제로 평균 다변량 정규 분포로부터 도출된 프로세스 잡음이다.
Figure pct00061
는 1차 상태 추정 모델의 제어 벡터를 형성한다. 이는 시간 k와 k-1에서의 딥 신경망 결과들 사이의 차이로부터 컴퓨팅된 시간 단위 내의 속도이다. 제안된 형성을 통해 딥 러닝을 고전적인 칼만 필터 모델에 매립할 수 있다. 여기서 한 단계는 연속 프레임들 사이의 지속 시간이다.
[000200] 위에 언급한 딥 러닝 모델에 의해 생성된 딥 러닝 결과는 적어도 1502A를 참조하여 상술한 상태 천이 모델을 사용하여 1504A에서 측정치(들)로서 칼만 필터 모델에서 수신될 수 있다. 일부 실시예들에서, 칼만 필터 모델은 딥 러닝 프로세스 및/또는 딥 러닝 결과들이 매립된 상태 천이 모델을 사용하여 딥 러닝 결과를 수신할 수 있다.
[000201] 다음 시점에서의 측정치는 이미지 정합 프로세스에서 적어도 칼만 필터 모델을 사용함으로써 1506A에서 결정될 수 있다. 일부 실시예들에서, 시간 스텝은 2 개의 바로 이웃하는 프레임들 사이의 지속 시간으로 결정될 수 있다. 예를 들어, 30 프레임/초의 비디오 시퀀스에서, 시간 스텝은 1/30 초로 결정될 수 있다. 다른 일관된 고정 시간 스텝들 또는 심지어 가변 시간 스텝들이 다른 실시예들에서 사용될 수 있다는 점에 유의해야 한다. 일부 실시예들에서, 캡처된 이미지 및/또는 검색 이미지에서 유사한 배경 및/또는 피처(들)의 간섭은 적어도 이미지 정합 프로세스를 수행함으로써 1508A에서 감소될 수 있다. 칼만 필터 모델은 일부 실시예들에서 이미지 정합 결과를 수신하도록 구성될 수 있다. 추가적으로 또는 대안적으로, 칼만 필터 모델은 선형 모델(예를 들어, 선형 마르코프(Markov) 모델 또는 임의의 다른 적절한 모델) 및 가산 가우시안 잡음을 포함할 수 있다.
[000202] 앞서 언급한 캡처된 이미지 프레임은 적어도 칼만 필터 모델 및 이미지 정합 프로세스를 사용하여 1510A에서 검색 이미지로 또는 검색 이미지에서 로컬화될 수 있다. 위에 언급한 일부 행위에 대한 보다 상세한 사항은 도 15b 및 도 15c를 참조하여 후술한다.
[000203] 도 15b는 하나 이상의 실시예들에서 도 15a의 일부에 대한 보다 상세한 사항을 예시한다. 보다 구체적으로, 도 15b는 도 15a의 1502A에서 상태 천이 모델에 딥 러닝 프로세스를 매립하는 것에 대한 보다 상세한 사항을 예시한다. 이러한 하나 이상의 실시예들에서, 하나 이상의 제어 벡터들은 상태 천이 모델에 대해 1502B에서 결정될 수 있다. 프로세스 잡음은 1504B에서 제로 평균 다변량 정규 분포와 같지만 이에 제한되지 않는 통계 분포로부터 도출될 수 있다.
[000204] 상태 천이 모델에 대한 시간 스텝이 1506B에서 결정될 수 있다. 상술한 바와 같이, 시간 스텝은 일부 실시예들에서 2 개의 바로 이웃하는 프레임들 사이의 지속 시간으로 결정될 수 있지만, 다른 일관되고 고정된 시간 스텝들 또는 심지어 가변 시간 스텝들이 다른 실시예들에서 사용될 수 있음에 또한 유의해야 한다.
[000205] 상태 천이 모델은 1508B에서 적어도 부분적으로 1504B에서 도출된 프로세스 잡음 및/또는 1502B에서 결정된 하나 이상의 제어 벡터들에 기초하여 하나 이상의 대응하는 이전 시점들에서 적어도 하나 이상의 이전 포지션 상태들을 사용함으로써 하나 이상의 대응하는 시점들에서 하나 이상의 다음 포지션 상태들을 결정하는 데 사용될 수 있다. 도 15a를 참조하여 상술한 예시적인 상태 천이 모델은 딥 러닝 프로세스를 칼만 필터 모델에 매립하는 것을 허용한다.
[000206] 도 15c는 하나 이상의 실시예들에서 도 15a의 다른 부분에 대한 보다 상세한 사항을 예시한다. 보다 구체적으로, 도 15b는 도 15a의 1510A에서 칼만 필터 모델 및 이미지 정합 프로세스를 사용하여 이미지를 검색 이미지로 또는 검색 이미지에 로컬화하는 것에 대한 더 상세한 사항을 예시한다. 이러한 하나 이상의 실시예들에서, 캡처된 이미지의 로컬화는 1502C에서 캡처된 이미지의 전체 프레임에 대해 개략적 정합을 수행하는 것을 포함할 수 있다. 이러한 실시예들 중 일부에서, 대략적인 정합을 수행하는 것은 1506C에서 캡처된 이미지의 전체 프레임에서 하나 이상의 영역들에서 하나 이상의 피처들 또는 피처 포인트들을 검출하는 것을 포함한다.
[000207] 이러한 실시예들 중 일부에서, 대략적 정합을 수행하는 것은 검색 이미지에서 하나 이상의 영역들로부터 하나 이상의 대응하는 피처들 또는 피처 포인트들을 검출(검색 이미지에 대해 대략적인 정합이 수행되지 않은 경우) 또는 식별(검색 이미지에 대해 대략적인 정합이 이미 수행된 경우)하는 것을 추가로 포함할 수 있다. 캡처 이미지는 그 후 캡처 이미지로부터 검출된 하나 이상의 피처들 또는 피처 포인트들 및 검색 이미지로부터의 하나 이상의 대응하는 피처들 또는 피처 포인트들에 적어도 부분적으로 기초하여 1508C에서 검색 이미지에 정합될 수 있다.
[000208] 대략적인 정합이 완료되면, 캡처된 이미지로부터 검출된 하나 이상의 피처들 또는 피처 포인트들 중 적어도 하나 및/또는 검색 이미지로부터의 하나 이상의 대응하는 피처들 또는 피처 포인트들 중 적어도 하나에 대해 1504C에서 미세 정합이 수행될 수 있다. 일부 실시예들에서, 대략적인 정합은 이미지의 전체 프레임에 대해 수행될 수 있는 반면, 미세 정합은 외부 링(들)만으로 수행될 수 있다. 이러한 실시예들에서, 외부-링 정합으로 측정을 위한 칼만 필터 모델의 사용은 피처 또는 피처 포인트들의 반복된 컴퓨테이션을 피한다. 이러한 실시예들 중 일부에서, 딥 러닝 모델은 컨벌루션 신경망 및 이미지 정합 프로세스를 포함한다.
[000209] 일부 실시예들에서, 미세 정합은 1504C에서 칼만 필터를 사용함으로써 해당 영역 주위의 외부 링 영역에서 적어도 하나의 피처 또는 피처 포인트에 대해 수행될 수 있다. 이러한 실시예들 중 일부에서, 미세 정합을 수행하는 것은 개략적인 정합을 위해 1506C를 참조하여 위에서 설명된 영역에 대응하는 확대된 영역 내의 피처 또는 피처 포인트를 1510C에서 선택하는 것을 포함할 수 있다. 확대된 영역을 사용하면 특히 대략적인 정합에서 매칭된 피처들 또는 피처 포인트들이 내부 영역 또는 내부에 더 가까운 영역(외부 링(들)에 더 가까운 것과 반대 또는 그렇지 않으면 검색 이미지에 걸쳐 분산된 분산)에서 더 집중되는 시나리오들에서 로컬화 프로세스의 견고성을 개선할 수 있다.
[000210] 1510C에서 선택된 피처 또는 피처 포인트는 그 후 검색 이미지의 외부 영역에서 대응하는 피처 또는 대응하는 피처 포인트와 비교될 수 있다. 검색 이미지가 사용자 망막의 복수의 모자이크 처리된 베이스 이미지들을 포함하는 눈 추적의 예에서, 일부 실시예들은 프레임이 완료될 때 망막 상의 이미징 포지션을 그라운드 트루쓰로서 취한다. 결과적으로 각각의 프레임의 외부 링들은 그라운드 트루쓰에 더 가깝다.
[000211] 칼만 필터 모델과 관련하여, 칼만 필터는 제곱 오차의 평균을 최소화하는 방식으로 프로세스의 상태를 추정하는 효율적인 컴퓨테이션(재귀) 수단을 제공하는 수학 식들의 세트를 포함한다. 필터는 여러 양태들에서 매우 강력하며: 이는 과거, 현재 및 심지어 미래 상태의 추정을 지원하며 모델링된 시스템의 정확한 특성일 알려지지 않은 지원할 수 있다.
[000212] 이산 칼만 필터:
[000213] 칼만 필터는 선형 확률적 차분 식에 의해 통제되는 이산-시간 제어 프로세스의 상태
Figure pct00062
를 추정하려는 일반적인 문제를 해결한다:
Figure pct00063
(1.1)
[000214] 여기서 측정치
Figure pct00064
, 즉,
Figure pct00065
(1.2)
[000215] 랜덤 변수들 wk 및 vk는 프로세스 및 측정 잡음을 (각각) 나타낸다. 이는 (서로에 대해) 독립적이고 흰색이며 정규 확률 분포를 갖는 것으로 가정된다.
Figure pct00066
(1.3)
Figure pct00067
(1.4)
[000216] 실제로, 프로세스 잡음 공분산 Q 및 측정 잡음 공분산 R 행렬들은 각각의 시간 스텝 또는 측정에 따라 변경될 수 있지만, 여기서 일부 실시예들은 이들이 일정한 것으로 가정한다.
[000217] 차분 식 (1.1)의 n x n 행렬 A는 구동 함수 프로세스 잡음이 없는 경우 이전 시간 스텝 k-1에서의 상태를 현재 스텝 k에서의 상태와 관련시킨다. 실제로 A는 각각의 시간 스텝에 따라 변경될 수 있지만 여기서 일부 실시예들은 일정하다고 가정한다. n x Z 행렬 B는 선택적인 제어 입력
Figure pct00068
을 상태 x와 관련시킨다. 측정 식 (1.2)의 m x n 행렬 H는 해당 상태를 측정 zk와 관련시킨다. 실제로 H는 각각의 시간 스텝 또는 측정에 따라 변경될 수 있지만 여기서 일부 실시예들은 일정한 것으로 가정한다.
[000218] 일부 실시예들은
Figure pct00069
("슈퍼 마이너스"에 유의)을 스텝 k 이전의 프로세스의 지식이 주어진 스텝 k에서의 선험적 상태 추정인 것으로 정의하고
Figure pct00070
을 측정 zk가 주어진 스텝 k에서 사후 상태 추정인 것으로 정의한다. 일부 실시예들은 그 후 선험적 및 사후 추정 오차들을 이하와 같이 정의한다.
Figure pct00071
[000219] 선험적 추정 오차 공분산은 다음과 같다.
Figure pct00072
(1.5)
[000220] 그리고 사후 추정 오차 공분산은 다음과 같다.
Figure pct00073
(1.6)
[000221] 칼만 필터에 대한 식을 도출할 때, 일부 실시예들은 선험적 추정치
Figure pct00074
의 선형 조합으로서 사후 상태 추정치
Figure pct00075
를 컴퓨팅하는 식과 아래 (1.7)에 나타낸 바와 같이 측정 예측
Figure pct00076
와 실제 측정치
Figure pct00077
사이의 가중화된 차이를 찾으려는 목적으로 시작한다.
Figure pct00078
(1.7)
[000222] (1.7)에서 차이
Figure pct00079
를 측정 혁신 또는 잔차라고 칭한다. 잔차는 예측된 측정치
Figure pct00080
와 실제 측정치
Figure pct00081
사이의 불일치를 반영한다. 잔차가 0이라는 것은 2 개가 완전히 일치함을 의미한다.
[000223] (1.7)에서 n x m 행렬 K는 사후 오차 공분산 (1.6)을 최소화하는 이득 또는 혼합 팩터로 선택된다. 이러한 최소화는 먼저 (1.7)을 ek에 대한 위의 정의로 치환하고, 이를 (1.6)으로 치환하고, 표시된 예상을 수행하고, K에 대한 결과의 트레이스(trace)의 미분을 취하고, 그 결과를 0으로 설정한 후, K에 대해 풀어서 달성될 수 있다. (1.6)을 최소화하는 결과적인 K의 한 형태는 다음과 같이 주어진다.
Figure pct00082
(1.8)
[000224] 식 (1.8)에서, 측정 오차 공분산 R이 0에 접근함에 따라, 이득 K는 잔차에 더 많은 가중치를 부여한다. 구체적으로,
Figure pct00083
[000225] 한편, 선험적 추정 오차 공분산 Pk가 0에 접근함에 따라 이득 K는 잔차에 덜 무겁게 가중치를 부여한다. 구체적으로,
Figure pct00084
[000226] K에 의한 가중치에 대한 또 다른 생각 방식은 측정 오차 공분산 R이 0에 접근함에 따라, 실제 측정치 zk는 점점 더 "신뢰"되는 반면, 예측 측정치
Figure pct00085
는 점점 덜 신뢰된다는 것이다. 한편, 선험적 추정 오차 공분산 Pk가 0에 접근함에 따라 실제 측정치 zk는 점점 덜 신뢰되는 반면, 예측된 측정치
Figure pct00086
는 점점 더 신뢰된다.
[000227] (1.7)에 대한 정당성은 모든 사전 측정치 zk(베이즈 정리(Bayes' rule))에 조건을 둔 선험적 추정치 ick의 확률에 근거한다. 지금은 칼만 필터가 상태 분포의 처음 두 모멘트들을 유지한다는 점을 지적하는 것으로 충분한 것으로 하며,
Figure pct00087
[000228] 사후 상태 추정치 (1.7)은 상태 분포의 평균(첫 번째 모멘트)을 반영하며, (1.3) 및 (1.4)의 조건들이 충족되면 이는 정규 분포이다. 사후 추정 오차 공분산 (1.6)은 상태 분포의 분산(두 번째 비중심 모멘트)을 반영한다. 즉,
Figure pct00088
[000229] 이산 칼만 필터 알고리즘:
[000230] 칼만 필터는 피드백 제어 형태를 사용하여 프로세스를 추정하며: 필터는 어느 시점에서 프로세스 상태를 추정한 다음 (잡음이 많은) 측정 형태로 피드백을 획득한다. 이와 같이, 칼만 필터에 대한 식들은 시간 업데이트 식들과 측정 업데이트 식들의 두 그룹으로 나뉜다. 시간 업데이트 식들은 다음 시간 스텝에 대한 선험적 추정치들을 획득하기 위해 현재 상태 및 오차 공분산 추정치들을 앞으로 (시간 내) 투사하는 것을 담당한다. 측정 업데이트 식들은 피드백을 담당하며, 예를 들어, 개선된 사후 추정치를 획득하기 위해 새로운 측정치를 선험적 추정치에 통합하는 것을 담당한다.
[000231] 시간 업데이트 식들은 예측자 식들로 생각할 수 있는 반면 측정 업데이트 식들은 보정자 식들로 생각할 수 있다. 실제로, 최종 추정 알고리즘은 바로 아래에 나타낸 바와 같이 수치 문제들을 풀기 위한 예측자-보정자 알고리즘과 유사하다.
Figure pct00089
[000232] 시간 및 측정 업데이트들에 대한 특정 식들은 바로 아래의 표 1-1 및 표 1-2에 제시되어 있다.
Figure pct00090
Figure pct00091
[000233] 측정 업데이트 동안의 첫 번째 작업은 칼만 이득 Kk를 컴퓨팅하는 것이다. 여기서 (1.11)로 주어진 식은 (1.8)과 같음에 유의한다. 다음 스텝은 실제로 프로세스를 측정하여 Zk를 획득한 다음 (1.12)에서와 같이 측정치를 통합하여 사후 상태 추정치를 생성하는 것이다. 다시 (1.12)는 완전성을 위해 여기에서 간단히 (1.7) 반복된다. 마지막 스텝은 (1.13)을 통해 사후 오차 공분산 추정치를 획득하는 것이다.
[000234] 각각의 시간 및 측정 업데이트 쌍 후에, 새로운 선험적 추정치들을 투사 또는 예측하기 위해 사용된 이전의 사후 추정치로 프로세스가 반복된다. 이러한 재귀적 특성은 칼만 필터의 매우 매력적인 피처들 중 하나이며, (예를 들어) 각각의 추정치에 대해 모든 데이터에 대해 직접 연산하도록 설계된 위너(Wiener) 필터 구현보다 실제 구현을 훨씬 더 실현 가능하게 만듭니다. 대신 칼만 필터는 과거의 모든 측정치에 대한 현재 추정치를 재귀적으로 조정한다.
[000235] 필터 파라미터들 및 튜닝:
[000236] 필터의 실제 구현에서, 측정 잡음 공분산 R은 일반적으로 필터의 연산 전에 측정된다. 측정 오차 공분산 R을 측정하는 것은 일반적으로 실용적(가능)인데, 이는 일부 실시예들이 어쨌든 (필터를 작동하는 동안) 프로세스를 측정할 수 있을 필요가 있기 때문이며, 따라서 이러한 실시예들은 측정 잡음의 분산을 결정하기 위해 일반적으로 일부 오프-라인 샘플 측정치를 취할 수 있어야 한다.
[000237] 프로세스 잡음 공분산 Q의 결정은 일반적으로 일부 실시예들이 추정하고 있는 프로세스를 일부 실시예들이 통상적으로 직접 관찰하는 능력을 갖고 있지 않기 때문에 더 어렵다. Q의 선택을 통해 프로세스에 충분한 불확실성을 "주입"하는 경우 상대적으로 단순한(불량한) 프로세스 모델이 때로는 허용 가능한 결과를 생성할 수 있다. 확실히 이 경우 프로세스 측정치가 신뢰할 수 있는 것으로 희망할 것이다.
[000238] 어느 경우든, 일부 실시예들이 파라미터를 선택하기 위한 합리적인 근거를 가지고 있는지 여부에 관계없이 종종 우수한 필터 성능은 (통계적으로 말하면) 필터 파라미터 Q 및 R을 튜닝함으로써 획득될 수 있다. 튜닝은 일반적으로 오프-라인으로 수행되며, 종종 아래에 나타낸 바와 같이 일반적으로 시스템 식별이라고 칭하는 프로세스에서 다른 (구별되는) 칼만 필터의 도움을 받는다.
Figure pct00092
[000239] Q 및 R이 실제로 일정한 조건 하에서, 추정 오차 공분산 Pk 및 칼만 이득 Kk 둘 모두 빠르게 안정화된 다음 일정하게 유지될 것이다(바로 위의 필터 업데이트 식 참조). 이러한 경우, 필터를 오프-라인으로 실행하거나 예를 들어, Pk의 정상-상태 값을 결정하여 이러한 파라미터들이 사전-컴퓨팅될 수 있다.
[000240] 그러나, 측정 오차(특히)가 일정하게 유지되지 않는 경우가 종종 있다. 예를 들어, 광전자 추적기 천장 패널들에서 비콘(beacon)들을 관찰할 때 가까운 비콘들의 측정에서의 잡음은 멀리 있는 비콘들의 잡음보다 더 작을 것이다. 또한, 프로세스 잡음 Q는 때때로 필터 동작 중에 동적으로 변경되어, 상이한 역학에 조정하기 위해 Qk가 된다. 예를 들어, 3D 가상 환경의 사용자 머리를 추적하는 경우 일부 실시예들은 사용자가 느리게 움직이는 것처럼 보이면 Qk의 크기를 줄이고 역학이 빠르게 변하기 시작하면 크기를 증가시킬 수 있다. 이러한 경우, 사용자 의도에 대한 불확실성과 모델의 불확실성을 모두 설명하기 위해 Qk를 선택할 수 있다.
[000241] 확장된 칼만 필터(EKF: Extended Kalman Filter):
[000242] 상술한 바와 같이, 칼만 필터는 선형 확률적 차분 식에 의해 통제되는 이산-시간 제어 프로세스의 상태
Figure pct00093
을 추정하려는 일반적인 문제를 해결한다. 그러나 추정할 프로세스 및(또는) 프로세스에 대한 측정 관계가 비선형이면 어떻게 되는가? 칼만 필터링의 가장 흥미롭고 성공적인 애플리케이션들 중 일부는 이러한 상황이었다. 현재 평균과 공분산에 대해 선형화하는 칼만 필터를 확장된 칼만 필터 또는 EKF라고 한다. 테일러(Taylor) 급수와 유사한 것에서, 일부 실시예들은 비선형 관계에도 불구하고 추정치를 컴퓨팅하기 위해 프로세스 및 측정 함수들의 편도함수를 사용하여 현재 추정치 주변의 추정치를 선형화할 수 있다. 그렇게 하기 위해, 일부 실시예들은 위에 제시된 자료의 일부를 수정함으로써 시작된다. 프로세스가 다시 상태 벡터
Figure pct00094
을 갖지만, 프로세스가 이제 비선형 확률적 차분 식에 의해 통제된다고 가정하면,
Figure pct00095
(2.1)
여기서 측정치
Figure pct00096
즉,
Figure pct00097
(2.2)
[000243] 여기서 랜덤 변수 wk 및 vk는 (1.3) 및 (1.4)에서와 같이 프로세스 및 측정 잡음을 다시 나타냅니다. 이 경우 차분 식 (2.1)의 비선형 함수 f는 이전 시간 스텝 k-1에서의 상태를 현재 시간 스텝 k에서의 상태와 관련시킨다. 이는 임의의 구동 함수 uk-1과 제로-평균 프로세스 잡음 wk를 파라미터로서 포함한다. 측정 식 (2.2)의 비선형 함수 h는 상태 xk를 측정치 zk와 관련시킨다.
[000244] 실제로는 물론 각각의 시간 스텝에서 잡음 wk 및 vk의 개별 값들을 알지 못한다. 그러나, 이들 없이 상태 및 측정 벡터를 다음과 같이 근사화할 수 있다.
Figure pct00098
(2.3)
Figure pct00099
(2.4)
여기서,
Figure pct00100
는 (이전 시간 스텝 k로부터의) 상태의 일부 사후 추정치이다.
[000245] EKF의 근본적인 결함은 다양한 랜덤 변수의 분포들(또는 연속적인 경우의 밀도들)이 그 각각의 비선형 변환을 거친 후 더 이상 정규적이지 않다는 것이라는 점에 유의한다. EKF는 단순히 선형화를 통해 정리의 최적성을 단지 근사화하는 임시 상태 추정기이다. 비선형 변환 전체에 걸쳐 정규 분포를 보존하는 방법을 사용하여 EKF에 대한 변형을 개발할 때 몇 가지 흥미로운 작업이 Julier 등에 의해 수행되었다.
[000246] 비선형 차이 및 측정 관계로 프로세스를 추정하기 위해, 일부 실시예들은 (2.3) 및 (2.4)에 대한 추정을 선형화하는 새로운 통제 식을 작성하는 것으로 시작하며,
Figure pct00101
(2.5)
Figure pct00102
(2.6)
여기서,
· xk 및 zk는 실제 상태 및 측정 벡터들이고,
·
Figure pct00103
는 (2.3) 및 (2.4)로부터의 근사적인 상태 측정 벡터들이고,
·
Figure pct00104
는 스텝 k에서 상태의 사후 추정치이고
· 랜덤 변수 wk 및 vk는 (1.3) 및 (1.4)에서의 프로세스 및 측정 잡음을 나타낸다.
· A는 x에 대한 f 의 편도함수의 야코비안(Jacobian) 행렬이며, 즉,
Figure pct00105
· W는 wdp 대한 f의 편도함수의 야코비안 행렬이며,
Figure pct00106
· H는 x에 대한 h의 편도함수의 야코비안 행렬이며,
Figure pct00107
· V는 v에 대한 h의 편도함수의 야코비안 행렬이며,
Figure pct00108
[000247] 표기법의 단순성을 위해 일부 실시예들은 각각의 시간 스텝에서 실제로 상이하다고 하더라도 야코비안 행렬 A, W, H 및 V와 함께 시간 스텝 첨자 k를 사용하지 않을 수 있음에 유의한다.
[000248] 일부 실시예들은 예측 오차에 대한 새로운 표기법을 정의하며,
Figure pct00109
(2.7)
측정 잔차는,
Figure pct00110
(2.8)
[000249] 실제로 (2.7)에서 xk에 액세스할 수 없음을 상기하며, 이는 실제 상태 벡터이고, 예를 들어, 추정하려는 수량이다. 반면, (2.8)에서 zk에 액세스할 수 있으며, 이는 xk를 추정하는 데 사용하는 실제 측정치이다. (2.7) 및 (2.8)을 사용하여 일부 실시예들은 이하와 같이 오차 프로세스에 대한 통제 식을 작성할 수 있다.
Figure pct00111
(2.9)
Figure pct00112
(2.10)
여기서
Figure pct00113
는 각각 (1.3) 및 (1.4)에서와 같이 Q 및 R을 갖는, 제로 평균 및 공분산 행렬 WQWT 및 VRVT를 갖는 새로운 독립적인 랜덤 변수를 나타낸다.
[000250] 식 (2.9) 및 (2.10)은 선형이며, 이산 칼만 필터의 차분 및 측정 식 (1.1) 및 (1.2)와 매우 유사하다. 이는 (2.8)의 실제 측정 잔차
Figure pct00114
및 (2.9)에 의해 주어진 예측 오차
Figure pct00115
를 추정하는 두 번째(가상) 칼만 필터를 사용하도록 동기를 부여한다.
Figure pct00116
라고 하는 이러한 추정치는 그 후 (2.7)과 함께 사용되어 원래 비선형 프로세스에 대한 사후 상태 추정치를 다음과 같이 획득할 수 있다.
Figure pct00117
(2.11)
[000251] (2.9) 및 (2.10)의 랜덤 변수들은 근사적으로 다음과 같은 확률 분포를 갖는다:
Figure pct00118
[000252] 이러한 근사치가 주어지고
Figure pct00119
의 예측 값이 0이 되도록 하면,
Figure pct00120
를 추정하는 데 사용되는 칼만 필터 식은 다음과 같다.
Figure pct00121
(2.12)
[000253] (2.12)를 다시 (2.11)로 치환하고 (2.8)을 사용하면, 두 번째 (가상) 칼만 필터가 필요하지 않거나 사용되지 않을 수 있다.
Figure pct00122
(2.13)
[000254] 식 (2.13)은 이제 확장된 칼만 필터의 측정 업데이트에 사용될 수 있으며, ick 및 Zk는 (2.3) 및 (2.4)에서 나오고 칼만 이득 Kk는 (1.11)에서 나오고 측정 오차 공분산을 적절하게 대체한다.
[000255] EKF 식의 전체 세트는 아래 표 2-1 및 표 2-2에 나와 있다. 일부 실시예들은 이전의 "슈퍼 마이너스" 선험적 표기법과 일관성을 유지하기 위해 ick을 치환했으며, 일부 실시예들은 야코비안 행렬 A, W, H 및 V에 아래 첨자 k를 첨부하여 이들이 각각의 시간 스텝에서 상이할 수 있다(따라서, 다시 컴퓨팅될 수 있음)는 개념을 강화할 수 있다는 점에 유의한다.
Figure pct00123
[000256] 기본 이산 칼만 필터와 같이, 표 2-1의 시간 업데이트 식들은 이전 시간 스텝 k - 1에서 현재 시간 스텝 k까지의 상태 및 공분산 추정치들을 투사한다. 다시, (2.14)의 f는 (2.3)에서 나오며, Ak와 Wk는 스텝 k에서의 프로세스 야코비안 행렬이고, Qk는 스텝 k에서의 프로세스 잡음 공분산(1.3)이다.
Figure pct00124
[000257] 기본 이산 칼만 필터와 같이, 표 2-2의 측정 업데이트 식들은 상태 및 공분산 추정치를 측정치 zk로 보정한다. 다시, (2.17)의 h는 (2.4)에서 나오며, Hk와 V는 스텝 k에서의 측정 야코비안이고, Rk는 스텝 k에서의 측정 잡음 공분산(1.4)이다(일부 실시예들은 이제 R이 각 측정에 따라 변경될 수 있도록 아래 첨자임에 유의).
[000258] EKF의 기본 동작은 아래에 나타낸 선형 이산 칼만 필터와 유사하며, 표 2-1 및 표 2-2로부터의 식들과 도 1의 상위-레벨 다이어그램을 결합하는 EKF의 동작의 완전한 도면을 제공한다.
Figure pct00125
[000259] EKF의 중요한 피처는 칼만 이득 Kk에 대한 식의 야코비안 Hk가 측정 정보의 관련 구성 요소만 올바르게 전파하거나 "확장"하는 역할을 한다는 것이다. 예를 들어 측정치 Zk와 h를 통한 상태 사이에 일대일 매핑이 없는 경우, 야코비안 Hk는 칼만 이득에 영향을 미치므로, 상태에 영향을 미치는 잔차
Figure pct00126
의 일부만을 확장한다. 전체 측정에서 측정치 zk와 h를 통한 상태 사이에 일대일 매핑이 없는 경우 예상할 수 있듯이 필터가 빠르게 발산할 것이다. 이 경우 프로세스를 관찰할 수 없다.
[000260] 랜덤 상수 추정을 위한 프로세스 모델:
[000261] 다음은 예를 들어, 전압과 같은 스칼라 랜덤 상수를 추정하려고 시도한다. 일부 실시예들은 상수의 측정치를 취할 수 있는 능력을 갖지만 측정치들은 0.1-볼트 RMS(평균 제곱근) 백색 측정 잡음에 의해 손상된다(예를 들어, 아날로그 대 디지털 변환기는 매우 정확하지 않음). 이 예에서, 프로세스는 선형 차분 식에 의해 통제된다.
Figure pct00127
[000262] 측정치
Figure pct00128
, 즉,
Figure pct00129
[000263] 상태는 단계에서 단계로 변경되지 않으므로 A = 1이다. 제어 입력이 없으므로 u = 0이다. 잡음 측정은 직접 상태이므로 H = 1이다(각각의 파라미터는 이 간단한 모델에서 일정하게 유지되기 때문에 이러한 실시예들은 몇몇 위치에서 아래 첨자 k를 누락했음에 유의한다).
[000264] 필터 식들 및 파라미터들:
[000265] 시간 업데이트 식들은 다음과 같다.
Figure pct00130
[000266] 측정 업데이트 식들은 다음과 같다.
Figure pct00131
(3.1)
Figure pct00132
[000267] 매우 작은 프로세스 분산을 가정하면, 일부 실시예들은 일부 실시예들에서 Q = 1e-5로 할 수 있는 반면, 일부 다른 실시예들은 Q = 0으로 할 수 있지만, 작지만 0이 아닌 값을 가정하면 일부 실시예들에서 아래에서 입증하는 바와 같이 필터를 "튜닝"하는 데 더 많은 유연성을 제공한다. 일부 실시예들에서, 랜덤 상수의 참 값은 표준 정규 확률 분포를 가지므로, 일부 실시예들은 상수가 0이라는 추측으로 필터를 "시드(seed)"할 것이다. 즉, 일부 실시예들을 시작하기 전에
Figure pct00133
이라고 한다.
[000268] 유사하게, 일부 실시예들은 Pk-1에 대한 초기 값을 선택할 수 있으며, 이를 P0이라고 한다. 일부 실시예들에서 초기 상태 추정치
Figure pct00134
이 정확했다면, 이러한 실시예들은 P0 = 0으로 할 수 있다. 그러나, 초기 추정치
Figure pct00135
의 불확실성이 주어지면, P0 = 0을 선택하는 것은 필터가 초기에 그리고 항상
Figure pct00136
을 믿게 할 것이다. 결과적으로, 대안적인 선택은 중요하지 않다. 일부 실시예들은 거의 모든
Figure pct00137
을 선택할 수 있으며, 필터는 결국 수렴할 수 있다. 일부 실시예들은 P0 = 1로 필터를 시작할 수 있다.
[000269] 본원에 설명된 다양한 실시예들은 XR 시스템과 같은 머리-장착 디스플레이(HMD: head-mounted display) 또는 독립형 컴퓨팅 노드, 복수의 컴퓨팅 노드 등을 갖는 클러스터링된 환경과 같은 다른 유형의 시스템들 상에서 구현될 수 있다. 시스템은 가상 컨텐츠를 사용자에게 투사하기 위해 디스플레이 서브시스템(예를 들어, 프로젝터들 또는 마이크로-프로젝터들의 어레이)을 포함할 수 있다. 도 11a는 하나 이상의 실시예들에서 마이크로-프로젝터들의 어레이 및 광학 시스템과 마이크로-프로젝터들의 어레이의 커플링의 예시적인 구성들을 예시한다. 보다 구체적으로, 도 11a는 하나 이상의 실시예들에서 광학 시스템 또는 XR 디바이스에 동작 가능하게 커플링된 전자 기기를 위한 예시적인 아키텍처(2500)를 도시한다. 광학 시스템 또는 XR 디바이스 자체 또는 XR 디바이스에 커플링된 외부 디바이스(예를 들어, 벨트 팩)는 하나 이상의 인쇄 회로 보드 구성 요소들, 예를 들어 좌측(2502) 및 우측(2504) 인쇄 회로 보드 조립체(PCBA: printed circuit board assembly)들을 포함할 수 있다. 예시된 바와 같이, 좌측 PCBA(2502)는 대부분의 활성 전자 기기를 포함하는 반면, 우측 PCBA(604)는 주로 디스플레이 또는 프로젝터 요소들을 지지한다.
[000270] 우측 PCBA(2504)는 이미지 생성 구성 요소들에 이미지 정보 및 제어 신호들을 제공하는 다수의 프로젝터 드라이버 구조체들을 포함할 수 있다. 예를 들어, 우측 PCBA(2504)는 제1 또는 좌측 프로젝터 드라이버 구조체(2506) 및 제2 또는 우측 프로젝터 드라이버 구조체(2508)를 보유할 수 있다. 제1 또는 좌측 프로젝터 드라이버 구조체(2506)는 제1 또는 좌측 프로젝터 파이버(2510) 및 신호 라인들의 세트(예를 들어, 피에조 드라이버 와이어들)를 연결한다. 제2 또는 우측 프로젝터 드라이버 구조체(2508)는 제2 또는 우측 프로젝터 파이버(2512) 및 신호 라인들의 세트(예를 들어, 피에조 드라이버 와이어들)를 연결한다. 제1 또는 좌측 프로젝터 드라이버 구조체(2506)는 제1 또는 좌측 이미지 프로젝터에 통신 가능하게 커플링되는 반면, 제2 또는 우측 프로젝터 드라이브 구조체(2508)는 제2 또는 우측 이미지 프로젝터에 통신 가능하게 커플링된다.
[000271] 동작 시, 이미지 프로젝터들은 각각의 광학 구성 요소들, 예를 들어, 도파관들 및/또는 보상 렌즈들을 통해 가상 컨텐츠를 사용자의 좌측 및 우측 눈(예를 들어, 망막)에 렌더링하여 가상 이미지들과 연관된 광을 변경한다.
[000272] 이미지 프로젝터들은 예를 들어, 좌측 및 우측 프로젝터 조립체들을 포함할 수 있다. 프로젝터 조립체들은 예를 들어, 파이버 스캔 프로젝터들, 액정 디스플레이(LCD: liquid crystal display)들, LCOS(Liquid Crystal On Silicon) 디스플레이들, 디지털 광 프로세싱(DLP: digital light processing) 디스플레이들과 같은 다양한 상이한 이미지 형성 또는 생성 기술들을 사용할 수 있다. 파이버 스캔 프로젝터가 채용되는 경우, 이미지들은 광섬유를 따라 전달될 수 있으며, 광섬유의 팁을 통해 그로부터 투사될 수 있다. 팁은 도파관에 공급되도록 배향될 수 있다. 광섬유의 팁은 휘거나 진동하도록 지원될 수 있는 이미지들을 투사할 수 있다. 다수의 압전 액추에이터가 팁의 진동(예를 들어, 주파수, 진폭)을 제어할 수 있다. 프로젝터 드라이버 구조체들은 각 광섬유에 이미지들을 제공하고 사용자의 눈에 이미지들을 투사하기 위해 압전 액추에이터를 제어하는 신호들을 제어한다.
[000273] 우측 PCBA(2504)를 계속하면, 버튼 보드 커넥터(2514)는 다양한 사용자 액세스 가능 버튼들, 키들, 스위치들 또는 다른 입력 디바이스들을 보유하는 버튼 보드(2516)에 대한 통신 및 물리적 커플링을 제공할 수 있다. 우측 PCBA(2504)는 우측 이어폰 또는 스피커 커넥터(2518)를 포함하여 오디오 신호를 우측 이어폰(2520) 또는 머리 착용 구성 요소의 스피커에 통신 가능하게 커플링한다. 우측 PCBA(2504)는 또한 머리 착용 구성 요소의 마이크로폰으로부터의 오디오 신호들을 통신 가능하게 커플링하기 위해 우측 마이크로폰 커넥터(2522)를 포함할 수 있다. 우측 PCBA(2504)는 머리 착용 구성 요소의 우측 폐색 디스플레이(2526)에 폐색 정보를 통신 가능하게 커플링하기 위해 우측 폐색 드라이버 커넥터(2524)를 추가로 포함할 수 있다. 우측 PCBA(2504)는 또한 그 보드-대-보드 커넥터(2534)를 통해 좌측 PCBA(2502)와의 통신을 제공하기 위해 보드-대-보드 커넥터를 포함할 수 있다.
[000274] 우측 PCBA(2504)는 신체 또는 머리에 착용되는 하나 이상의 우측 바깥쪽으로 향하거나 월드 뷰 카메라들(2528) 및 선택적으로 이미지가 캡처될 때 다른 사람에게 표시하기 위해 조명하는 오른쪽 카메라 시각적 표시기(예를 들어, LED)에 통신 가능하게 커플링될 수 있다. 우측 PCBA(2504)는 우측 눈의 이미지들을 캡처하도록 위치되고 배향된 헤드 착용 구성 요소에 의해 보유되는 하나 이상의 우측 눈 카메라들(2532)에 통신 가능하게 커플링될 수 있어 우측 눈의 배향 및/또는 움직임의 추적, 검출 또는 모니터링을 허용할 수 있다. 우측 PCBA(2504)는 선택적으로 하나 이상의 우측 눈 조명 소스들(2530)(예를 들어, LED)에 통신 가능하게 커플링될 수 있으며, 이는 본원에서 설명된 바와 같이, 조명 패턴(예를 들어, 시간적, 공간적)으로 우측 눈을 조명하여 우측 눈의 배향 및/또는 움직임의 추적, 검출 또는 모니터링을 용이하게 한다.
[000275] 좌측 PCBA(2502)는 제어 서브시스템을 포함할 수 있으며, 이는 하나 이상의 제어기들(예를 들어, 마이크로컨트롤러, 마이크로프로세서, 디지털 신호 프로세서, 그래픽 처리 장치, 중앙 처리 장치, 주문형 집적 회로(ASIC: application specific integrated circuit), 필드 프로그램 가능 게이트 어레이(FPGA: field programmable gate array)(2540) 및/또는 프로그램 가능 로직 유닛(PLU: programmable logic unit))을 포함할 수 있다. 제어 시스템은 실행 가능한 로직 또는 명령들 및/또는 데이터 또는 정보를 저장하는 하나 이상의 비일시적 컴퓨터 또는 프로세서 판독 가능 매체를 포함할 수 있다. 비일시적 컴퓨터 또는 프로세서 판독 가능 매체는 다양한 형태들, 예를 들어, 휘발성 및 비휘발성 형태들, 예를 들어, 판독 전용 메모리(ROM: read only memory), 랜덤 액세스 메모리(RAM, DRAM, SD-RAM), 플래시 메모리 등을 취할 수 있다. 비일시적 컴퓨터 또는 프로세서 판독 가능 매체는 예를 들어, 마이크로프로세서, FPGA 또는 ASIC의 하나 이상의 레지스터로서 형성될 수 있다.
[000276] 좌측 PCBA(2502)는 머리 착용 구성 요소의 좌측 이어폰 또는 스피커(2538)에 오디오 신호들을 통신 가능하게 커플링하기 위해 좌측 이어폰 또는 스피커 커넥터(2536)를 포함할 수 있다. 좌측 PCBA(2502)는 드라이브 이어폰들 또는 스피커들에 통신 가능하게 커플링되는 오디오 신호 증폭기(예를 들어, 스테레오 증폭기)(2542)를 포함할 수 있다. 좌측 PCBA(2502)는 또한 머리 착용 구성 요소의 마이크로폰으로부터의 오디오 신호들을 통신 가능하게 커플링하기 위해 좌측 마이크로폰 커넥터(2544)를 포함할 수 있다. 좌측 PCBA(2502)는 머리 착용 구성 요소의 좌측 폐색 디스플레이(2548)에 폐색 정보를 통신 가능하게 커플링하기 위해 좌측 폐색 드라이버 커넥터(2546)를 추가로 포함할 수 있다.
[000277] 좌측 PCBA(2502)는 또한 주변 환경 및/또는 사용자에 관한 정보를 검출, 측정, 캡처 또는 그렇지 않으면 감지하는 하나 이상의 센서들 또는 트랜스듀서들을 포함할 수 있다. 예를 들어, 가속도 트랜스듀서(2550)(예를 들어 3 축 가속도계)는 3 축의 가속도를 검출할 수 있고, 이에 의해 움직임을 검출할 수 있다. 자이로스코프 센서(2552)는 배향 및/또는 자기 또는 나침반 방향 또는 배향을 검출할 수 있다. 다른 센서들 또는 트랜스듀서들이 유사하게 채용될 수 있다.
[000278] 좌측 PCBA(2502)는 신체 또는 머리에 착용되는 하나 이상의 좌측 외향 또는 월드 뷰 카메라들(2554) 및 선택적으로 이미지들이 캡처되고 있을 때 다른 사람에게 표시하기 위해 조명하는 좌측 카메라 시각적 표시기(예를 들어, LED)(2556)에 통신 가능하게 커플링될 수 있다. 좌측 PCBA는 좌측 눈의 이미지들을 캡처하기 위해 위치되고 배향되는 머리 착용 구성 요소에 의해 보유되는 하나 이상의 좌측 눈 카메라들(2558)에 통신 가능하게 커플링될 수 있어 좌측 눈의 배향 및/또는 움직임의 추적, 검출 또는 모니터링을 허용한다. 좌측 PCBA(2502)는 선택적으로 하나 이상의 좌측 눈 조명 소스들(예를 들어, LED들)(2556)에 통신 가능하게 커플링될 수 있으며, 이는 본원에서 설명되는 바와 같이 조명의 패턴(예를 들어, 시간적, 공간적)으로 좌측 눈을 조명하여 좌측 눈의 배향 및/또는 움직임의 추적, 검출 또는 모니터링을 용이하게 한다.
[000279] PCBA들(2502 및 2504)은 하나 이상의 포트들, 커넥터들 및/또는 경로들을 통해 별개의 컴퓨테이션 구성 요소(예를 들어, 벨트 팩)와 통신 가능하게 커플링된다. 예를 들어, 좌측 PCBA(2502)는 벨트 팩과의 통신(예를 들어, 양방향 통신)을 제공하기 위해 하나 이상의 통신 포트들 또는 커넥터들을 포함할 수 있다. 하나 이상의 통신 포트들 또는 커넥터들은 또한 벨트 팩으로부터 좌측 PCBA(2502)로 전력을 제공할 수 있다. 좌측 PCBA(2502)는 통신 포트 또는 커넥터에 전기적으로 커플링되고 조건에 따라 동작 가능한(예를 들어, 승압 전압, 강압 전압, 원활한 전류, 과도 현상 감소) 전력 조절 회로(2580)(예를 들어, DC/DC 전력 변환기, 입력 필터)를 포함할 수 있다.
[000280] 통신 포트 또는 커넥터는 예를 들어, 데이터 및 전력 커넥터 또는 트랜시버(2582)(예: Thunderbolt® 포트, USB® 포트)의 형태를 취할 수 있다. 우측 PCBA(2504)는 벨트 팩으로부터 전력을 수용하기 위한 포트 또는 커넥터를 포함할 수 있다. 이미지 생성 요소들은 예를 들어, 벨트 팩에 위치될 수 있는 휴대용 전원(예를 들어, 화학 배터리 셀들, 1차 또는 2차 배터리 셀들, 울트라-커패시터 셀들, 연료 셀들)으로부터 전력을 받을 수 있다.
[000281] 예시된 바와 같이, 좌측 PCBA(2502)는 능동 전자 기기의 대부분을 포함하는 반면, 우측 PCBA(2504)는 주로 디스플레이 또는 프로젝터들 및 관련 압전 드라이브 신호들을 지원한다. 전기 및/또는 광섬유 연결은 광학 시스템 또는 XR 디바이스의 신체 또는 머리 착용 구성 요소의 전면, 후면 또는 상단에 걸쳐 채용된다. PCBA(2502 및 2504) 모두는 벨트 팩에 통신 가능하게(예를 들어, 전기적으로, 광학적으로) 커플링된다. 좌측 PCBA(2502)는 전력 서브시스템 및 고속 통신 서브시스템을 포함한다. 우측 PCBA(2504)는 파이버 디스플레이 압전 드라이브 신호들을 처리한다. 예시된 실시예에서, 우측 PCBA(2504)만이 벨트 팩에 광학적으로 연결될 필요가 있다. 다른 실시예들에서, 우측 PCBA 및 좌측 PCBA 모두 벨트 팩에 연결될 수 있다.
[000282] 2 개의 PCBA(2502 및 2504)를 채용하는 것으로 예시되어 있지만, 신체 또는 머리 착용 구성 요소의 전자 기기는 다른 아키텍처를 채용할 수 있다. 예를 들어, 일부 구현에서는 더 적거나 더 많은 수의 PCBA를 사용할 수 있다. 다른 예로서, 다양한 구성 요소들 또는 서브시스템들이 도 11a에 예시된 것과 다르게 배열될 수 있다. 예를 들어, 일부 대안적인 실시예들에서, 하나의 PCBA 상에 상주하는 도 11a에 예시된 구성 요소들 중 일부는 일반성의 손실 없이 다른 PCBA 상에 위치될 수 있다.
[000283] 예를 들어, 도 1을 참조하여 본원에 설명되는 바와 같이, 본원에 설명된 광학 시스템 또는 XR 디바이스는 가상 컨텐츠가 일부 실시예들에서 3차원 컨텐츠로서 인식될 수 있도록 가상 컨텐츠를 사용자에게 제시할 수 있다. 일부 다른 실시예들에서, 광학 시스템 또는 XR 디바이스는 4차원 또는 5차원 광필드(또는 광 필드)의 가상 컨텐츠를 사용자에게 제시할 수 있다.
[000284] 도 11b 및 도 11c에 예시된 바와 같이, 광 필드 생성 서브시스템(예를 들어, 각각 1100C 및 1102C)은 바람직하게는 광 필드를 생성하도록 동작 가능하다. 예를 들어, 광학 장치(1160C) 또는 서브시스템은 실제 3차원 객체 또는 장면으로부터 반사되는 광에 의해 생성될 4차원(4D) 또는 5차원(5D) 광 필드를 시뮬레이팅하기 위해 광을 생성하거나 투사할 수 있다. 예를 들어, 도파관 반사기 어레이 프로젝터(WRAP: wave guide reflector array projector) 장치(1110C) 또는 복수의 깊이 평면 3차원(3D) 디스플레이 시스템과 같은 광학 장치는 일부 실시예들에서 4D 또는 5D 광 필드를 시뮬레이팅하기 위해 각각의 반경 방향 초점 거리에서 복수의 가상 깊이 평면들을 생성하거나 투사할 수 있다. 이러한 실시예들에서, 광학 시스템 또는 XR 디바이스는 광 필드를 나타내는 4D 함수의 2차원(2D) 슬라이스들로서 입력 이미지들을 해석함으로써 근안 광 필드 생성기 및 4D 또는 5D 광 필드의 디스플레이로서 기능한다. 도 11b 및 도 11c는 일부 실시예들에서 본원에 설명된 광 필드 생성 서브시스템 또는 일부 다른 실시예들에서 사용자의 눈(들)에 복수의 깊이 평면들에 대응하는 광 빔들을 투사하는 스테레오스코픽 가상 컨텐츠 생성 서브시스템을 갖는 광학 시스템 또는 XR 디바이스를 예시할 수 있다.
[000285] 일부 실시예들에서, 광학 시스템 또는 XR 디바이스는 사전 획득되거나 사전 컴퓨팅된 이미지의 세트로부터 가상 컨텐츠의 상이한 뷰들을 생성하는 이미지 기반 렌더링으로 사용자에게 가상 컨텐츠의 스테레오스코픽 표현들을 렌더링한다. 가상 컨텐츠는 예를 들어, 환경 맵, 세계 맵, 위상 맵(예를 들어, 각각의 위치들 및/또는 피처들 및 노드들을 연결하는 에지들을 나타내고 연결된 노드들 사이의 하나 이상의 관계들 등을 나타내는 포인트 노드들을 갖는 맵) 중 하나 이상을 사용하여 가상 컨텐츠를 보는 사용자가 위치한 환경에서 혼합되거나 배치될 수 있다. 이러한 실시예들에서, 광학 시스템 또는 XR 디바이스는 특히 가상 컨텐츠의 실시간 구현에서 상대적으로 크지 않은(예를 들어, 동일한 가상 컨텐츠에 대한 광 필드 생성과 비교) 컴퓨테이션 리소스를 필요로 하는 이미지-기반 렌더링을 위한 하나 이상의 디스플레이 또는 렌더링 알고리즘들을 사용한다. 또한, 생성된 가상 컨텐츠와의 상호 작용의 비용은 가상 컨텐츠의 복잡성과 독립적일 수 있다. 또한, 가상 컨텐츠를 생성하는 데 사용되는 이미지들의 소스는 실제(예를 들어, 물리적 객체의 사진 또는 비디오 시퀀스) 또는 가상(예를 들어, 하나 이상의 모델로부터)일 수 있다.
[000286] 이미지-기반 렌더링 및 하나 이상의 맵들에 기초한 이러한 실시예들은 하나 이상의 고정된 시점들(예를 들어, 이미지 기반 가상 컨텐츠를 렌더링하기 위한 이미지들의 세트가 획득되는 시점)에 기초할 수 있다. 이러한 실시예들 중 일부는 뷰 보간(interpolation)에 의해 고정된 시점 제한을 완화하기 위해 깊이 값들(예를 들어, 깊이 센서에 의해 획득되거나 삼각 측량 등과 같은 로컬화 기술들에 의해 컴퓨팅된 깊이 정보)을 사용한다. 이러한 실시예들에서, 광학 시스템 또는 XR 디바이스는 예를 들어, 사용자의 위치, 배향 및/또는 시선 방향에 기초하여 사용자에 대한 예를 들어, 환경 맵(예를 들어, 맵에서 피처들, 포인트들 등의 상세한 기하학적 및/또는 지리적 정보를 갖는 기하학적 맵)에서 포인트들을 재투사하기 위해 뷰 해석을 위해 깊이 정보(예를 들어, 이미지의 더 작은 픽셀들의 서브세트 또는 이미지의 각각의 픽셀에 대한 깊이 데이터)를 사용한다.
[000287] 이미지 기반 렌더링 및 하나 이상의 맵들을 사용하는 일부 다른 실시예들은 이미지들의 쌍을 캡처하는 이미지 센서(들)의 포지션들에 적어도 부분적으로 기초하여 가상 컨텐츠를 렌더링하는 데 사용되는 이미지들의 쌍의 대응하는 포인트(들) 및 또는 대응을 결정함으로써 고정된 시점 제한을 완화한다. 이미지 기반 렌더링을 사용하는 두 클래스의 실시예들 모두는 예를 들어, 이미지들 쌍(들) 사이의 대응을 결정하는 것이 반드시 결정적으로 수행되지 않을 수 있는 상황이 존재할 수 있지만 보고 있는 사용자들에 의해 스테레오스코픽으로 인식될 수 있는 가상 컨텐츠를 효과적으로 생성하고 제시한다.
[000288] 따라서, 일부 다른 실시예들은 앞서 언급한 이미지 기반 렌더링을 채택하기보다는 광학 시스템 또는 XR 디바이스로 4D 또는 5D 광 필드를 생성한다. 광 필드는 5D 함수(예를 들어, 5D 플렌옵틱(plenoptic) 함수)로 생성될 수 있으며 3차원 공간에서 주어진 방향의 한 포인트에서의 방사 휘도(radiance)를 포함한다. 따라서, 광 필드는 공간-각도 이미지들의 세트를 정의하는 5D 함수를 포함할 수 있다. 공간에서 좌표 (x, y, z)를 갖는 지점 A에서의 방사 휘도 R이 방향
Figure pct00138
를 따라 전파하는 이러한 실시예들에서,
Figure pct00139
의 형태를 가질 수 있으며, 여기서
Figure pct00140
Figure pct00141
(포함)의 범위를 갖고
Figure pct00142
Figure pct00143
(또한, 포함)의 범위를 갖는다. 이러한 형태에서,
Figure pct00144
는 x 축과 y 축으로 정의된 수평 평면으로부터의 각도를 나타내고;
Figure pct00145
는 3차원 공간의 포인트와 좌표계의 원점을 연결하는 벡터와 기준 단위 벡터(예를 들어, x 축 방향을 따른 단위 벡터) 사이의 각도를 나타낸다.
[000289] 일부 실시예들에서, 방사 휘도는 매질(예를 들어, 공기와 같은 투명 매질)에서 보존된다. 위의 5D 함수는 방사 휘도 보존으로 인해 특정량의 중복성을 나타낸다. 이러한 실시예들에서, 광 필드를 나타내는 위에 언급한 5D 함수는 광학 시스템 또는 XR 디바이스가 표면(예를 들어, 평면 z = 0)에서 5D 함수를 생성하고 따라서 3 개의 공간 차원(x, y, z)과 2 개의 각도 차원
Figure pct00146
을 갖는 5D 함수를 2 개의 공간 차원(x, y)과 2 개의 각도 차원
Figure pct00147
을 갖는 4D 함수로 효과적으로 감소시킬 때 4D 함수
Figure pct00148
로 감소될 수 있다. 광 필드 함수의 차원을 5D 함수에서 4D 함수로 줄이면 가상 컨텐츠를 위한 광 필드 생성을 촉진할 뿐만 아니라 컴퓨테이션 리소스도 절약한다.
[000290] 이러한 실시예들에서, 본원에 설명된 광학 시스템 또는 XR 디바이스는 위에 언급한 4D 함수(또는 광 필드 기술들의 보다 일반적인 애플리케이션에서의 5D 함수)로 가상 컨텐츠에 대한 복수의 포인트들의 각각의 방사 휘도를 컴퓨팅하여 사용자에게 가상 컨텐츠에 대한 광 필드를 생성 및 제시한다. 포인트에 대해 컴퓨팅된 방사 휘도(또는 방사 휘도 광속)는 포인트에 의해 방출, 반사, 전송 또는 수신된 광에 대한 데이터를 포함하며 투사된 영역 당 기준으로 컴퓨팅될 수 있다. 포인트에 대한 방사 휘도는 또한 주파수 및/또는 파장 정보를 포함할 수 있으며 가상 컨텐츠의 포인트(예를 들어, 픽셀 또는 픽셀들의 세트) 또는 부분을 나타내는 포인트가 광학 시스템 또는 XR 디바이스에 의해 인식될 수 있는 것을 방사 휘도가 나타낼 때 방향성이다. 방사 휘도는 균일 좌표를 사용하여 고정된 시야를 갖는 정사영 이미지(들) 또는 이미지(들)로 포인트 및 방향에 의해 라인(예를 들어, 사용자의 눈으로부터 가상 컨텐츠의 포인트까지의 라인)을 파라미터화하는 것과 같은 임의의 기술들로 컴퓨팅될 수 있다. 예를 들어, 가상 컨텐츠에 대한 포인트와 사용자의 눈을 나타내는 포인트를 각각의 볼록한 사각형에 제한하는 광 슬래브 기술들을 사용하고 가상 컨텐츠의 포인트(예를 들어, 가상 컨텐츠의 이미지 픽셀)와 선형 투사 맵(예를 들어, 3 x 3 행렬)으로 사용자의 눈을 나타내는 포인트 사이에 매핑하여 포인트의 방사 휘도가 결정될 수 있다.
[000291] 예를 들어, 광학 시스템 또는 XR 디바이스 또는 전자 기기(예를 들어, 이에 언급한 벨트 팩)는 각각의 이미지가 고정된 평면에서 4D 광 슬래브의 슬라이스를 나타내고 이미지들의 스테레오 쌍을 생성하는 데 사용되는 것과 실질적으로 유사한 전단 원근 투사를 수행함으로써 가상 컨텐츠의 포인트에 대응하는 샘플 위치에 가상 카메라의 투사 중심을 배치함으로써 형성되는 이미지들의 2D 어레이를 렌더링함으로써 광 슬래브를 생성할 수 있다. 일부 실시예들에서, 광 슬래브는 정사영 뷰들의 2D 어레이로부터 형성될 수 있다.
[000292] 광학 시스템 또는 XR 디바이스를 통해 사용자에게 가상 컨텐츠에 대한 광 필드 표현을 생성하고 제시하기 위해, 광학 시스템 또는 XR 디바이스의 렌즈(예를 들어, 도 11b의 1180C)는 하나 이상의 평면 또는 자유 형태 도파관의 스택을 포함할 수 있으며, 여기서 도파관은 하나 이상의 별개의 초점 거리에 각각 대응하는 하나 이상의 별개의 초점 평면을 정의할 수 있다. 따라서 하나 이상의 평면 또는 자유 형태 도파관들의 스택은 일부 실시예들에서 대응하는 초점 거리에 위치된 복수의 초점 평면들을 정의할 수 있다. 이미지의 2D 슬라이스는 특정 초점 거리에서 초점 평면 상에 렌더링될 수 있으며, 따라서 2D 슬라이스 세트는 복수의 초점 평면에서 렌더링되어 광학 시스템 또는 XR 디바이스의 사용자에 의해 스테레오스코픽으로 인식될 수 있는 가상 컨텐츠를 나타낼 수 있다.
[000293] 일부 실시예들에서, 도파관은 인(in)-커플링된 광 빔을 직교 광 빔렛의 제1 세트로 분할하기 위해 평면 광 도파관의 제1 면과 연관된 직교 동공 확장(OPE: orthogonal pupil expansion) 요소, 및 인-커플링된 광 빔을 직교 광 빔렛의 제2 세트로 분할하기 위해 평면 광 도파관의 제2 면과 연관된 제2 직교 동공 확장(OPE) 요소를 포함할 수 있다. 일부 실시예들에서, 제1 OPE 요소는 평면 광 도파관의 제1 면 상에 배치되고, 제2 OPE 요소는 평면 광 도파관의 제2 면 상에 배치된다. 인-커플링 요소는 제1 OPE 요소 및 제2 OPE 요소를 교대로 교차하는 제1 광학 경로를 따라 내부 전반사(TIR: total internal reflection)를 통해 평면 광 도파관 내에서 전파하기 위한 인-커플링된 광 빔으로서 이미지 투사 조립체로부터 시준된 광 빔을 광학적으로 커플링하도록 구성될 수 있어, 인-커플링된 광 빔의 일부들이 제2 평행 광학 경로들을 따라 TIR을 통해 평면 광 도파관 내에서 전파하는 각각의 직교 광 빔렛들의 제1 세트 및 직교 광 빔렛들의 제2 세트로서 편향된다. 이 경우, 제2 평행 광학 경로들은 제1 광학 경로와 직교할 수 있다.
[000294] 일부 실시예들에서, 반(semi)-반사 계면들은 인-커플링된 광 빔을 적어도 2 개의 인-커플링된 광 빔렛으로 분할하도록 구성된다. 이 경우에, DOE(들)는 적어도 2 개의 인-커플링된 광 빔렛을 적어도 2 개의 직교 광 빔렛들의 세트들로 각각 분할하도록 구성된 직교 동공 확장(OPE) 요소를 포함하고, 반-반사 계면들은 직교 광 빔렛들의 적어도 2 개 세트를 직교 광 빔렛들의 적어도 4 개 세트로 분할하도록 추가로 구성되고, DOE(들)는 직교 광 빔렛들의 적어도 4 개 세트를 아웃-커플링된 광 빔렛들의 세트로 분할하도록 구성된 사출 동공 확장(EPE: exit pupil expansion) 요소를 포함한다. OPE 요소 및 EPE 요소는 광학 평면 도파관의 면 상에 배치될 수 있다.
[000295] 일부 실시예들에서, 도파관은 직교 광 빔렛들을 평면 광학 도파관을 빠져나가는 아웃-커플링된 광 빔렛들의 어레이(예를 들어, 2차원 아웃-커플링된 평면 광 빔렛들 어레이)로 분할하기 위해 평면 광학 도파관과 연관된 사출 동공 확장(EPE) 요소를 포함할 수 있다. 시준된 광 빔은 입사 동공을 정의할 수 있고, 아웃-커플링된 광 빔렛 어레이는 입사 동공보다 더 큰, 예를 들어, 입사 동공보다 적어도 10배 더 큰, 또는 심지어 입사 동공보다 적어도 100배 더 큰 사출 동공을 정의할 수 있다.
[000296] 일부 실시예들에서, EPE 요소는 평면 광학 도파관의 제1 및 제2 표면 중 하나에 배치된다. 직교 광 빔렛들의 제1 세트 및 직교 광 빔렛들의 제2 세트는 EPE 요소를 교차할 수 있어서, 직교 광 빔렛들의 제1 세트 및 직교 광 빔렛들의 제2 세트의 부분이 평면 광학 도파관에서 벗어난 아웃-커플링된 광 빔렛 어레이로서 편향된다. 일부 실시예들에서, EPE 요소는 평면 광학 도파관을 빠져나가는 아웃-커플링된 광 빔렛들 어레이에 볼록 파면 프로파일을 부여하도록 구성된다. 이 경우, 볼록한 파면 프로파일은 주어진 초점 면에서 이미지를 생성하기 위해 초점에서 반경 중심을 가질 수 있다. 다른 실시예에서, IC 요소, OPE 요소 및 EPE 요소 각각은 회절성이다.
[000297] 가상 이미지 생성 시스템은 복수의 기본 광 빔렛들을 평면 광학 도파관의 면을 빠져나가는 아웃-커플링된 광 빔렛들의 어레이(예를 들어, 2차원 아웃-커플링된 빔렛 어레이)로 추가로 분할하기 위한 평면 광학 도파관과 연관된 하나 이상의 회절성 광학 요소(DOE: diffractive optical element)들을 추가로 포함한다. 시준된 광 빔은 입사 동공을 정의할 수 있고, 아웃-커플링된 광 빔렛 어레이는 입사 동공보다 더 큰, 예를 들어, 입사 동공보다 적어도 10배 더 큰, 또는 심지어 입사 동공보다 적어도 100배 더 큰 사출 동공을 정의할 수 있다. 일부 실시예들에서, 1차 기판의 제1 두께 및 2차 기판들의 제2 두께들이 선택되어, 아웃-커플링된 광 빔렛들 중 적어도 2 개의 인접한 광 빔렛들의 중심들 사이의 간격이 시준된 광 빔의 폭 이하가 된다. 다른 실시예에서, 제1 두께 및 제2 두께들이 선택되어, 아웃-커플링된 광 빔렛들의 인접한 광 빔렛들의 절반보다 큰 에지들 사이의 갭이 존재하지 않는다.
[000298] 일부 실시예들에서, 반-반사 계면들은 인-커플링된 광 빔을 적어도 2 개의 인-커플링된 광 빔렛으로 분할하도록 구성된다. 이 경우에, DOE(들)는 적어도 2 개의 인-커플링된 광 빔렛들을 적어도 2 개의 직교 광 빔렛들의 세트들로 각각 분할하도록 구성된 직교 동공 확장(OPE: orthogonal pupil expansion) 요소를 포함하고, 반-반사 계면들은 직교 광 빔렛들의 적어도 2 개 세트를 직교 광 빔렛들의 적어도 4 개의 세트들로 분할하도록 추가로 구성되고, DOE(들)는 직교 광 빔렛들의 적어도 4 개 세트들을 아웃-커플링된 광 빔렛들의 세트로 분할하도록 구성된 사출 동공 확장(EPE) 요소를 포함한다. OPE 요소 및 EPE 요소는 광학 평면 도파관의 면 상에 배치될 수 있다.
[000299] 적어도 2 개의 인-커플링된 광 빔렛들은 OPE 요소를 교차하는 제1 광학 경로를 따라 내부 전반사(TIR)를 통해 평면 광학 도파관 내에서 전파될 수 있어서, 적어도 2 개의 인-커플링된 광 빔렛들의 일부는 제2 평행 광학 경로들을 따라 TIR을 통해 평면 광학 도파관 내에서 전파하는 직교 광 빔렛들의 적어도 2 개의 세트들로서 회절된다. 제2 평행 광학 경로들은 제1 광학 경로에 직교할 수 있다. 직교 광 빔렛들의 적어도 2 개의 세트들은 EPE 요소를 교차할 수 있어서, 직교 광 빔렛들의 적어도 2 개의 세트들의 일부는 평면 광학 도파관의 면에서 벗어나서 광 빔렛들의 아웃-커플링된 세트로서 회절된다. 일부 실시예들에서, EPE 요소는 평면 광학 도파관을 빠져나가는 아웃-커플링된 광 빔렛 어레이 상에 볼록 파면 프로파일을 부여하도록 구성될 수 있다. 이 경우 볼록한 파면 프로파일은 주어진 초점 면에서 이미지를 생성하기 위해 초점에서 반경 중심을 가질 수 있다.
[000300] 본 개시의 제3 양태에 따르면, 가상 이미지 생성 시스템은 제1 두께를 갖는 1차 기판, 적어도 하나의 제2 두께들을 각각 갖는 적어도 하나의 2차 기판 및 기판들 사이에 각각 배치된 적어도 하나의 반-반사 계면을 포함하는 복수의 기판을 포함하는 평면 광학 도파관을 포함한다.
[000301] 제1 두께는 적어도 하나의 제2 두께 각각의 적어도 2배이다. 일부 실시예들에서, 제1 두께는 각각의 제2 두께(들)의 배수가 아니다. 다른 실시예에서, 2차 기판(들)은 복수의 2차 기판들을 포함한다. 이 경우, 제2 두께들은 서로 동일할 수도 있거나, 2차 기판(들) 중 2 개 이상이 서로 동일하지 않은 제2 두께를 가질 수도 있다. 제1 두께는 제2 두께들 중 적어도 하나의 배수가 아닐 수 있다. 동일하지 않은 제2 두께들 중 적어도 2 개는 서로 배수가 아닐 수 있다.
[000302] 일부 실시예들에서, 각각의 반-반사 계면(들)은 예를 들어, 물리적 기상 증착(PVD: physical vapor deposition), 이온 보조 증착(IAD: ion-assisted deposition) 및 이온 빔 스퍼터링(IBS: ion beam sputtering) 중 하나를 통해 기판들 사이에 각각 배치될 수 있는 반-반사 코팅을 포함한다. 각각의 코팅은 예를 들어, 금속(Au, Al, Ag, Ni-Cr, Cr 등), 유전체(산화물, 불화물 및 황화물) 및 반도체(Si, Ge) 중 하나 이상으로 구성될 수 있다. 또 다른 실시예에서, 기판들 중 인접한 것들은 상이한 굴절률을 갖는 재료들로 구성된다.
[000303] 가상 이미지 생성 시스템은 평면 광학 도파관 내에서 인-커플링된 광 빔으로서 전파하기 위해 이미지 투사 조립체로부터의 시준된 광 빔을 광학적으로 커플링하도록 구성된 인-커플링(IC: in-coupling) 요소를 추가로 포함한다. 이미지 투사 조립체는 시준된 광 빔을 스캐닝하도록 구성된 스캐닝 디바이스를 포함할 수 있다. 반-반사 인터페이스(들)는 인-커플링된 광 빔을 1차 기판 내에서 전파하는 복수의 기본 광 빔렛들로 분할하도록 구성된다.
[000304] 가상 이미지 생성 시스템은 복수의 1차 광 빔렛들을 평면 광학 도파관의 면을 빠져나가는 아웃-커플링된 광 빔렛들의 어레이(예를 들어, 2차원 아웃-커플링된 빔렛 어레이)로 추가로 분할하기 위해 평면 광학 도파관과 연관된 하나 이상의 회절성 광학 요소(DOE)들을 추가로 포함한다. 시준된 광 빔은 입사 동공을 정의할 수 있고, 아웃-커플링된 광 빔렛 어레이는 입사 동공보다 더 큰, 예를 들어, 입사 동공보다 적어도 10배 더 큰, 또는 심지어 입사 동공보다 적어도 100배 더 큰 사출 동공을 정의할 수 있다. 일부 실시예들에서, 1차 기판의 제1 두께 및 2차 기판(들)의 제2 두께(들)가 선택되어, 아웃-커플링된 광 빔렛들 중 적어도 2 개의 인접한 광 빔렛들의 중심들 사이의 간격이 시준된 광 빔의 폭 이하가 된다. 다른 실시예에서, 제1 두께 및 제2 두께(들)가 선택되어, 아웃-커플링된 광 빔렛들의 인접한 광 빔렛들의 절반보다 큰 에지들 사이의 갭이 존재하지 않는다.
[000305] 일부 실시예들에서, 반-반사 계면(들)은 인-커플링된 광 빔을 적어도 2 개의 인-커플링된 광 빔렛들로 분할하도록 구성된다. 이 경우에, DOE(들)는 적어도 2 개의 인-커플링된 광 빔렛들을 적어도 2 개의 직교 광 빔렛들의 세트들로 각각 분할하도록 구성된 직교 동공 확장(OPE) 요소를 포함하고, 반-반사 계면(들)은 직교 광 빔렛들의 적어도 2 개 세트를 직교 광 빔렛들의 적어도 4 개의 세트들로 분할하도록 추가로 구성되고, DOE(들)는 직교 광 빔렛들의 적어도 4 개 세트들을 아웃-커플링된 광 빔렛들의 세트로 분할하도록 구성된 사출 동공 확장(EPE) 요소를 포함한다. OPE 요소 및 EPE 요소는 광학 평면 도파관의 면 상에 배치될 수 있다.
[000306] 적어도 2 개의 인-커플링된 광 빔렛들은 OPE 요소를 교차하는 제1 광학 경로를 따라 내부 전반사(TIR)를 통해 평면 광학 도파관 내에서 전파될 수 있어서, 적어도 2 개의 인-커플링된 광 빔렛들의 일부는 제2 평행 광학 경로들을 따라 TIR을 통해 평면 광학 도파관 내에서 전파하는 직교 광 빔렛들의 적어도 2 개의 세트들로서 회절된다. 제2 평행 광학 경로들은 제1 광학 경로에 직교할 수 있다. 직교 광 빔렛들의 적어도 2 개의 세트들은 EPE 요소를 교차할 수 있어서, 직교 광 빔렛들의 적어도 2 개의 세트들의 일부는 평면 광학 도파관의 면에서 벗어나서 광 빔렛들의 아웃-커플링된 세트로서 회절된다. 일부 실시예들에서, EPE 요소는 평면 광학 도파관을 빠져나가는 아웃-커플링된 광 빔렛 어레이 상에 볼록 파면 프로파일을 부여하도록 구성될 수 있다. 이 경우 볼록한 파면 프로파일은 주어진 초점 면에서 이미지를 생성하기 위해 초점에서 반경 중심을 가질 수 있다.
[000307] 본 개시의 제4 양태에 따르면, 가상 이미지 생성 시스템은 이미징 요소로부터 시준된 광 빔을 수용하고 시준된 광 빔을 아웃-커플링된 광 빔렛들의 세트로 분할하도록 구성된 사전-동공 확장(PPE: pre-pupil expansion) 요소를 포함한다. 가상 이미지 생성 시스템은 평면 광학 도파관, 초기 아웃-커플링된 광 빔렛들의 세트를 인-커플링된 광 빔렛들의 세트로서 평면 광학 도파관으로 광학적으로 커플링하도록 구성된 인-커플링(IC) 요소, 및 인-커플링된 광 빔렛들의 세트를 평면 광학 도파관의 면을 빠져나가는 최종 아웃-커플링된 광 빔렛들의 세트로 분할하기 위한 평면 광학 도파관과 연관된 하나 이상의 회절성 요소들을 추가로 포함한다. 회절 요소(들)는 인-커플링된 광 빔렛들의 세트를 직교 광 빔렛들의 세트로 추가로 분할하기 위한 평면 광학 도파관과 연관된 직교 동공 확장(OPE) 요소, 및 직교 광 빔렛들의 세트를 최종 아웃-커플링된 광 빔렛들의 세트로 분할하기 위해 평면 광학 도파관과 연관된 사출 동공 확장(EPE) 요소를 포함할 수 있다.
[000308] 일부 실시예들에서, 시준된 광 빔은 입사 동공을 정의하고, 초기 아웃-커플링된 광 빔렛들의 세트는 입사 동공보다 큰 사전 확장된 동공을 정의하고, 최종 아웃-커플링된 광 빔렛들의 세트는 사전 확장된 동공보다 큰 사출 동공을 정의한다. 일 예에서, 사전 확장된 동공은 입사 동공보다 적어도 10배 더 크고, 사출 동공은 사전 확장된 동공보다 적어도 10배 더 크다. 일부 실시예들에서, 초기 아웃-커플링된 광 빔렛들의 세트는 2차원 광 빔렛 어레이로서 평면 광학 도파관에 광학적으로 커플링되고, 최종 아웃-커플링된 광 빔렛들의 세트는 2차원 광 빔렛 어레이로서 평면 광학 도파관의 면을 빠져나간다. 다른 실시예에서, 초기 아웃-커플링된 광 빔렛들의 세트는 1차원 광 빔렛 어레이로서 평면 광학 도파관에 광학적으로 커플링되고, 광 빔렛들의 최종 아웃-커플링된 세트는 2차원 광 빔렛 어레이로서 평면 광학 도파관의 면을 빠져나간다.
[000309] 일부 실시예들에서, PPE 요소는 미니-평면 광학 도파관, 시준된 광 빔을 초기 직교 광 빔렛들의 세트로 분할하기 위한 미니-평면 광학 도파관과 연관된 미니-OPE 요소, 및 초기 직교 광 빔렛들의 세트를 미니-평면 광학 도파관의 면을 빠져나가는 초기 아웃-커플링된 광 빔렛들의 세트로 분할하기 위한 미니-평면 광학 도파관과 연관된 미니-EPE 요소를 포함한다. PPE는 시준된 광빔을 평면 광학 도파관에 광학적으로 커플링하도록 구성된 미니-IC 요소를 추가로 포함할 수 있다.
[000310] 다른 실시예에서, PPE 요소는 시준된 광 빔을 발산 광 빔렛들의 초기 세트로 분할하도록 구성된 회절성 빔 분할기(예를 들어, 1 x N 빔 분할기 또는 M x N 빔 분할기), 및 발산 광 빔렛들의 초기 세트를 초기 아웃-커플링된 광 빔렛들의 세트로 재시준하도록 구성된 렌즈(예를 들어, 회절성 렌즈)를 포함한다.
[000311] 또 다른 실시예에서, PPE 요소는 시준된 광 빔을 인-커플링된 광 빔렛들의 세트로 분할하도록 구성된 프리즘(예를 들어, 고체 프리즘 또는 캐비티 프리즘)을 포함한다. 프리즘은 시준된 광 빔을 인-커플링된 광 빔렛들의 세트로 분할하도록 구성된 반-반사 프리즘 평면을 포함할 수 있다. 프리즘은 시준된 광 빔을 인-커플링된 광 빔렛들의 세트로 분할하도록 구성된 복수의 평행한 프리즘 평면들을 포함할 수 있다. 이 경우, 평행한 프리즘 평면들은 반-반사 프리즘 평면을 포함할 수 있다. 복수의 평행한 프리즘 평면들은 완전 반사 프리즘 평면을 포함할 수 있으며, 이 경우 시준된 광 빔의 일부는 적어도 하나의 반-반사 프리즘에 의해 제1 방향으로 반사될 수 있고, 시준된 광 빔의 일부는 제1 방향으로 반사를 위해 완전 반사 프리즘 평면으로 투과될 수 있다. 프리즘은 시준된 광 빔을 제1 방향으로 반사되는 초기 직교 광 빔렛들의 세트로 분할하도록 구성된 평행 프리즘 평면들이 제1 세트, 및 초기 직교 광 빔렛들을 제1 방향과 상이한 제2 방향으로 반사되는 인-커플링된 광 빔렛들의 세트로 분할하도록 구성된 평행 프리즘 평면들의 제2 세트를 포함할 수 있다. 제1 및 제2 방향은 서로 직교할 수 있다.
[000312] 또 다른 실시예에서, PPE 요소는 시준된 광 빔을 제1 평면 광학 도파관 조립체의 면을 빠져나가는 아웃-커플링된 광 빔렛들의 2차원 어레이(예를 들어, N x N 광 빔렛 어레이)로 분할하도록 구성된 제1 평면 광학 도파관 조립체, 및 2차원 아웃-커플링된 광 빔렛 어레이를 인-커플링된 광 빔렛들이 세트로서 제2 평면 광학 도파관 조립체의 면을 빠져나가는 아웃-커플링된 광 빔렛들의 복수의 2차원 어레이들로 분할하도록 구성된 제2 평면 광학 도파관 조립체를 포함한다. 제1 및 제2 평면 광학 도파관 조립체들은 각각 동일하지 않은 두께들을 가질 수 있다.
[000313] 2차원 아웃-커플링된 광 빔렛 어레이는 빔렛 간 간격을 갖고, 복수의 2차원 아웃-커플링된 광 빔렛 어레이들은 2차원 아웃-커플링된 광 빔렛 어레이의 빔렛 간 간격과 다른 어레이 간 간격에 의해 서로 공간적으로 오프셋된다. 일부 실시예들에서, 복수의 2차원 아웃-커플링된 광 빔렛 어레이들의 어레이 간 간격 및 2차원의 아웃-커플링된 광 빔렛 어레이의 빔렛 간 간격은 서로 배수가 아니다. 복수의 2차원 아웃-커플링된 광 빔렛 어레이들의 어레이 간 간격은 2차원 아웃-커플링된 광 빔렛 어레이의 빔렛 간 간격보다 클 수 있다.
[000314] 일부 실시예들에서, 제1 평면 광학 도파관 조립체는 대향하는 제1 및 제2 면을 갖는 제1 평면 광학 도파관, 제1 광학 경로를 따라 내부 전반사(TIR)를 통해 제1 평면 광학 도파관 내에서 전파하기 위해 시준된 광 빔을 광학적으로 커플링하도록 구성된 제1 인-커플링(IC) 요소, 시준된 광 빔을 제1 평면 광학 도파관의 제2 면을 빠져나가는 1차원 광 빔렛 어레이로 분할하기 위한 제1 평면 광학 도파관과 연관된 제1 사출 동공 확장기(EPE) 요소, 대향하는 제1 및 제2 면을 갖는 제2 평면 광학 도파관, 제1 광학 경로에 수직인 각각의 제2 광학 경로를 따라 TIR을 통해 제2 평면 광학 도파관 내에서 전파하기 위해 1차원 광 빔렛 어레이를 광학적으로 커플링하도록 구성된 제2 IC 요소, 및 1차원 광 빔렛 어레이를 제2 평면 광학 도파관의 제2 면을 빠져나가는 2차원 광 빔렛 어레이로 분할하기 위해 제2 평면 광학 도파관과 연관된 제2 사출 동공 확장기(EPE)를 포함한다. 이 경우, 제2 평면 광학 도파관의 제1 면은 제1 평면 광학 도파관의 제2 면에 부착될 수 있다. 제1 및 제2 평면 광학 도파관은 각각 실질적으로 동일한 두께를 가질 수 있다.
[000315] 제2 평면 광학 도파관 조립체는 대향하는 제1 및 제2 면을 갖는 제3 평면 광학 도파관, 각각의 제3 광학 경로들을 따라 TIR을 통해 제3 평면 광학 도파관 내에서 전파하기 위해 제1 2차원 광 빔렛 어레이를 광학적으로 커플링하도록 구성된 제3 IC 요소, 2차원 광 빔렛 어레이를 제3 평면 광학 도파관의 제2 면을 빠져나가는 2차원 광 빔렛 어레이들로 분할하기 위한 제3 평면 광학 도파관과 연관된 제3 EPE 요소, 대향하는 제1 및 제2 면을 갖는 제4 평면 광학 도파관, 제3 광학 경로에 수직인 각각의 제4 광학 경로를 따라 TIR을 통해 제4 평면 광학 도파관 내에서 전파하기 위해 2차원 광 빔렛 어레이를 광학적으로 커플링하도록 구성된 제4 IC 요소, 및 2차원 광 빔렛 어레이들을 광 빔렛들의 입력 세트로서 제4 평면 광학 도파관의 제2 면을 빠져나가는 2차원 광 빔렛 어레이들로 분할하기 위해 제4 평면 광학 도파관과 연관된 제4 EPE를 포함할 수 있다. 이 경우, 제4 평면 광학 도파관의 제1 면은 제3 평면 광학 도파관의 제2 면에 부착될 수 있고, 제3 평면 광학 도파관의 제1 면은 제2 평면 광학 도파관의 제2 면에 부착될 수 있다. 제1 및 제2 평면 광학 도파관은 각각 실질적으로 동일한 두께를 가질 수 있고, 제3 및 제4 평면 광학 도파관은 각각 실질적으로 동일한 두께를 가질 수 있다. 이 경우, 제1 및 제2 평면 광학 도파관의 실질적으로 동일한 두께는 제3 및 제4 평면 광학 도파관의 실질적으로 동일한 두께와 다를 수 있다. 제3 및 제4 평면 광학 도파관의 동일한 두께는 제1 및 제2 평면 광학 도파관의 동일한 두께보다 클 수 있다.
[000316] WRAP 장치(1110C) 또는 복수의 깊이 평면 3D 디스플레이 시스템 형태의 광학 장치(1160C)는 예를 들어, 이미지를 직접 또는 간접적으로 사용자의 각각의 눈에 투사할 수 있다. 가상 깊이 면의 수와 반경 방향 배치가 반경 방향 거리의 함수로서 인간 시각 시스템의 깊이 해상도와 비교될 수 있을 때, 투사된 깊이 평면의 이산 세트는 실제적이고 연속적인 3차원 객체 또는 장면에 의해 생성된 정신-물리학적인 효과를 모방한다. 하나 이상의 실시예들에서, 시스템(1100C)은 각각의 AR 사용자에 대해 맞춤화될 수 있는 프레임(1170C)을 포함할 수 있다. 시스템(1100C)의 추가 구성 요소들은 AR 시스템의 다양한 전기 및 전자 서브파트들을 서로 연결하기 위해 전자 기기(1130C)(예를 들어, 도 11a에 예시된 전자 기기의 일부 또는 전부)를 포함할 수 있다.
[000317] 시스템(1100C)은 하나 이상의 가상 이미지들과 연관된 광을 도파관 프리즘(1110C)으로 투사하는 마이크로디스플레이(1120C)를 추가로 포함할 수 있다. 도 11b에 도시된 바와 같이, 마이크로디스플레이(1120C)로부터 생성된 광은 도파관(1110C) 내에서 이동하고, 광의 일부는 사용자의 눈(1190C)에 도달한다. 하나 이상의 실시예들에서, 시스템(1100C)은 가상 이미지들과 연관된 광을 변경하기 위해 하나 이상의 보상 렌즈(1180C)를 추가로 포함할 수 있다. 도 11c는 도 11b와 동일한 구성 요소를 예시하지만, 마이크로디스플레이(1120C)로부터의 광이 도파관(1110C)을 통해 이동하여 사용자의 눈(1190C)에 도달하는 방식을 예시한다.
[000318] 광학 자치(1160C)는 다수의 선형 도파관들을 포함할 수 있으며, 각각은 각각의 선형 도파관 내에 매립, 위치 또는 형성된 각각의 일련의 분해된 곡선형 구형 반사기들 또는 거울들을 갖는다는 것을 이해해야 한다. 일련의 분해된 곡선형 구형 반사기들 또는 거울들은 특정 반경 방향 거리에서 무한대 초점의 광에 다시 초점을 맞추도록 설계된다. 볼록 구형 거울은 볼록 구형 거울 뒤에 정의된 거리에 위치된 것처럼 보이는 가상의 포인트 소스를 나타내는 출력 구면파를 생성하는 데 사용될 수 있다.
[000319] 그 형상(예를 들어, 2 개의 축에 대한 곡률 반경)과 배향이 함께 있는 일련의 마이크로 반사기들을 선형 또는 직사각형 도파관에 연결함으로써, 특정 x, y, z 좌표에서 가상 포인트 소스에 의해 생성된 구형 파면에 대응하는 3D 이미지를 투사하는 것이 가능하다. 각각의 2D 도파관들 또는 계층들은 다른 도파관들에 대해 독립적인 광학 경로를 제공하고 파면을 형성하고 진입하는 광을 집중시켜 각각의 반경 방향 거리에 대응하는 가상 깊이 평면을 투사한다. 상이한 초점 깊이에서 초점 평면을 각각 제공하는 복수의 2D 도파관으로, 투사된 가상 깊이 평면을 보는 사용자는 3D 효과를 경험한다.
[000320] 예시적인 실시예들 및 작업 예들
[000321] 머리 장착 디스플레이(HMD)들은 3D 가상 및 증강 환경 분야에서 광범위한 애플리케이션에 대해 탐구되었다. 정확하고 고속의 눈 추적은 HMD의 핵심 시나리오, 예를 들어, 중심와-의존 디스플레이 스킴들과 사람들에 대한 새로운 상호 작용 인터페이스들을 통한 시야(FOV) 및 해상도 절충을 가능하게 하는 데 중요하다.
[000322] HMD에 매립된 눈-추적기들은 침습적 방법들, 예를 들어, 공막 코일과 비침습적 비디오-기반 방법들로 분할될 수 있으며, 후자가 더 일반적이다. 현재 비디오-기반 방법들은 주로 홍채, 동공 및 글린트와 같은 안구의 상이한 피처들을 사용하며, 동공-글린트 방법들이 가장 널리 사용된다. 이러한 방법들은 0.5° 내지 1°의 평균 추적 오차를 가지며, 이러한 피처들의 추적 해상도는 대략 픽셀 당 0.7° 내지 1°이다. 추적 해상도를 넘어 정확도를 추가로 개선하는 것은 쉽지 않다.
[000323] 눈 표면의 피처들을 사용하는 것 외에도, 망막 이미지들은 또한 눈-추적 스캐닝 레이저 검안경(SLO)들과 같은 의료 분야의 눈-추적에 이용된다. 이들은 작은 FOV 고해상도 이미지들에서 망막 움직임 추정을 위해 스캐닝 왜곡을 활용하지만, 이 기술은 작은 도약 안구 운동들을 위해 설계되었으며 SLO들은 HMD에 쉽게 통합되지 않는다.
[000324] HMD의 망막-기반 눈 추적은 고급 센서들 없이 더 높은 추적 해상도, 선형 시선 추정 모델 및 망막 상의 중심와의 직접적인 로컬화와 같은 그 자체의 이점들을 갖는다. 추가로, 망막 추적은 HMD와 함께 광범위한 의료 애플리케이션들을 제공한다.
[000325] 다양한 실시예들은 망막 움직임 비디오들에 기초하여 눈-추적을 위한 실시간 망막 로컬화 방법을 제시하며, 여기에서 각각의 프레임은 모자이크 처리된 검색 이미지 상에서 로컬화된다. 제안된 방법의 개략이 도 1에 도시되어 있다. 일부 실시예들에서, 본원에 설명되는 방법들의 신규성은 칼만 필터(106)를 사용하여 하나 이상의 머신 러닝 또는 딥 러닝 모델(들)(100)의 성능을 신경망(들)(104) 및 이미지 정합 방법(102)과 결합하는 것이며, 여기서 딥 러닝의 결과는 상태 천이 모델을 구축하는 데 사용되며 이미지 정합은 측정치를 제공한다.
[000326] 도 6은 예를 들어, 일부 실시예에서 본원에 설명된 스캐닝 파이버 내시경에 의해 획득될 수 있는 망막의 일부 예시적인 템플릿 이미지들 또는 베이스 이미지들(602)을 예시한다. 예를 들어, 스캐닝 파이버 내시경(SFE)은 각각의 시점에서 복수의 베이스 또는 템플릿 이미지들을 캡처할 수 있다. 베이스 또는 템플릿 이미지는 예를 들어, 복수의 이러한 더 낮은 해상도 및/또는 더 좁은 FOV 베이스 또는 템플릿 이미지들로부터 생성될 수 있는 검색 이미지보다 더 낮은 해상도 및/또는 더 좁은 시야(FOV)를 가질 수 있다. 일부 실시예들에서, 일단 검색 이미지가 구성되면, 임의의 후속적으로 캡처된 이미지 프레임들(예를 들어, XR 시스템의 눈 추적 디바이스에 의해)은 일부 통상의 접근법들에서와 같이 복수의 이미지들에 관한 것이 아니라 동일한 검색 이미지에 대해 정합될 수 있다. 일부 다른 실시예들에서, 후속적으로 캡처된 이미지 프레임들(예를 들어, XR 시스템의 눈 추적 디바이스에 의해)은 본원에 설명된 복수의 검색 이미지들에 대해 정합될 수 있다.
[000327] 일부 실시예들에서, 본 방법은 스캐닝 파이버 내시경(SFE)으로 이미징된 합성 데이터 및 망막 움직임 비디오들 상에서 검증된다. 데이터세트의 상세 사항과 문제가 본원에 설명된다. 망막 비디오들을 사용하여, 예시적인 시스템의 눈 추적 해상도는 0.05°/픽셀이다. 일부 실시예들에서, 망막 로컬화 방법은 현재 주석 변화를 고려하지 않고 최적화 이전에 평균 오차 0.68°를 달성한다. 낮은 추적 해상도를 갖는 고전적인 동공-글린트 방법들과 비교하여, 일부 실시예들은 망막 기반 눈 추적 정확도를 크게 개선한다.
[000328] 도 5는 일부 실시예들에서 망막의 SFE 이미지를 캡처하기 위한 시스템의 단순화된 예를 예시한다. 이러한 실시예들에서, 스캐닝 파이버 내시경(SFE)(502)은 하나 이상의 스캐닝 파이버들(504)을 통해 스캐닝 광 빔을 방출할 수 있다. SFE(502)는 시작 포인트(506A)로부터 스캐닝 패턴(506)의 끝 포인트(506B)로 스캐닝 패턴(506)을 따라 객체(520)(예를 들어, 망막)를 스캐닝할 수 있다. 반사광(508)은 SFE(502)의 하나 이상의 복귀 파이버들을 통해 수신될 수 있고; 반사광(508)은 스캐닝된 이미지(510)(예를 들어, 망막의 하나 이상의 베이스 또는 템플릿 이미지(514))를 디스플레이(512) 상에 제시하기 위해 추가로 프로세싱될 수 있다. 본원에 설명된 일부 기술들은 일부 실시예들에서 복수의 베이스 또는 템플릿 이미지들(514)을 모자이크 처리하여 검색 이미지(516)를 생성한다.
[000329] 데이터 획득 및 특성
[000330] AR/VR을 위한 가상 망막 디스플레이(망막 스캔 디스플레이)가 오랫동안 제안되어 왔다. HMD 시스템의 컴팩트화를 유지하기 위해, 망막 이미징은 대부분의 광학 경로를 망막 스캔 디스플레이와 공유할 수 있다. VRD는 스캐닝 디스플레이를 망막 상에 직접 그리므로, 스캐닝 패턴을 갖는 SFE 이미징 디바이스가 비용이 저렴하고 소형 프로브 팁을 갖기 때문에 사용된다. SFE는 중심에서 주변으로 나선형 스캐닝 패턴을 가지며 전체 프레임은 링별로 이미징된다. 타깃이 움직일 때, 다른 시간에 스캐닝된 링들은 다른 영역들에서 온 것이며, 이는 비디오 프레임에서 움직임 왜곡을 생성한다. 일부 실시예들은 프레임이 완료될 때 망막 상의 이미징 포지션을 그라운드 트루쓰로서 취하여, 각각의 프레임의 외부 링들은 그라운드 트루쓰에 더 가깝다.
[000331] 데이터 수집에서, 일부 실시예들은 망막 움직임을 시뮬레이팅하기 위해 망막 팬텀(phantom)과 레이저 포인터를 로봇 아암(Meca500)의 팁 상에 부착하고 레이저 빔의 실시간 포지션 기록을 위해 포지션 감지 검출기(PSD: position sensitive detector)를 사용한다. PSD 데이터는 데이터 사전-프로세싱 후 각각의 프레임에 대한 주석일 수 있다. 현재 설정의 주석은 0.35°의 평균 오차를 갖는다. 도 2의 이미지들(202)은 캡처된 망막 프레임들의 예를 도시하고, 도 2의 이미지(204)는 일련의 프레임들(예를 들어, 202)로부터의 모자이크 처리된 이미지를 예시한다. 일부 실시예들은 이미지들이 움직임 왜곡을 갖는 것을 도넛 형상의 광학 디스크로부터 볼 수 있다. 망막 이미지는 유사한 배경을 가진 많은 영역들을 가지며, 스틸 프레임의 로컬 왜곡으로 이미징이 낮은 품질을 가지며, 이는 로컬화의 어려움을 증가시키는 것에 유의한다.
[000332] 예시적인 프로세스:
[000333] 기준으로서 큰 FOV 모자이크 처리된 이미지가 주어지면, 일부 실시예들은 도 2에 도시된 바와 같이 검색 이미지 상에 캡처된 SFE 프레임들의 실시간 로컬화를 수행한다. 데이터의 문제로 인해, 일부 실시예들은 딥 러닝 방법을 사용하여 분석을 위한 대표적인 딥 피처들을 추출한다. 그러나 신경망은 불확실성을 갖고 딥 피처들이 항상 신뢰할 수 있는 것은 아니므로 딥 러닝의 성능을 보완하기 위해 이미지 정합 방법이 사용된다. 한편, 이미지 정합 결과 또한 데이터 문제들로 인해 잡음이 있다. 상술한 바와 같이, 2 개의 프로세스가 칼만 필터와 결합되며, 여기서 딥 러닝 결과가 천이 모델에 매립되고 정합 결과가 칼만 필터에서 측정치로서 취해진다. 선형 마르코프(Markov) 모델의 칼만 필터 요건들 및 추가의 가우시안 잡음은 일부 실시예들에서 충족된다. 이 섹션에서, 일부 실시예들은 칼만 필터에서의 예시적인 상태 천이 모델 및 측정의 형태를 각각 소개한다.
[000334] 딥 러닝을 사용한 상태 천이 모델
[000335] 상태 천이 모델은 시간 k에서의 진정한 상태가 k-1에서의 상태로부터 진화된다고 가정한다. 제안된 방법에서 천이 모델은 다음과 같이 형성된다:
Figure pct00149
(1)
[000336] Xk, Yk는 x 및 y 방향에서 시간 k에서의 포지션 상태를 나타낸다. wk는 제로 평균 다변량 정규 분포로부터 도출된 프로세스 잡음이다.
Figure pct00150
는 1차 상태 추정 모델의 제어 벡터를 형성한다. 이는 시간 k와 k-1에서의 딥 신경망 결과들 사이의 차이로부터 컴퓨팅된 시간 단위 내의 속도이다. 제안된 형성을 통해 딥 러닝을 고전적인 칼만 필터 모델에 매립할 수 있다. 여기서 하나의 시간 스텝은 연속 프레임들 사이의 지속 시간이다.
[000337] 일부 실시예들에서 사용되는 딥 러닝 프레임워크는 샴 RPN으로부터 수정된다. 일부 실시예들에서, Alexnet은 먼저 프레임 및 검색 이미지의 딥 피처들을 추출하는 데 사용되며, 그 후 프레임 피처는 각각 분류 및 회귀를 위한 컨벌루션 계층을 사용하여 2 개의 다른 피처들로 변환된다. 2 개의 대응하는 응답 맵들은 프레임 및 검색 이미지 피처들의 컨벌루션에 의해 생성된다. 하나의 응답 맵은 타깃 영역/논-타깃(포지티브/네거티브) 영역 분류에 사용되며, 다른 응답 맵은 각각의 포지티브 포지션에서 위치 세분화를 예측한다. 샴 RPN에서 특정 객체의 견고한 표현들을 러닝하는 것과 달리, 일부 실시예들은 동일한 검색 이미지 상에 다른 템플릿들을 로컬화했다. 검색 이미지의 딥 피처는 저장되고 훈련 프로세스 후에 반복적으로 사용된다. 이미징 스케일은 HMD에서 많이 변경되지 않을 것이기 때문에, 일부 실시예들은 조정 가능한 높이 및 폭을 갖는 경계 박스 대신에 x 및 y의 타깃 포지션에 초점을 맞춘다.
[000338] 도 7은 일부 실시예들에서 본원에 설명된 다양한 기술들 중 적어도 일부를 구현하기 위해 이용될 수 있는 예시적인 딥 러닝 모델을 예시한다. 도 7에 예시된 이러한 실시예들에서, 딥 러닝 모델은 샴 RPN(Region Proposal Network)으로부터 수정되어 수신된 이미지 프레임(702)에 대해 피처 맵(706)(예를 들어, 6 x 6 x 256의 차원을 갖는 프레임의 피처 맵)을 생성하는 AlexNet(705)에서 이미지 프레임(702)을 수신한다. 피처 맵(706)은 업샘플링된 데이터(예를 들어, 710에 대해 6 x 6 x 의 차원을 갖는 제1 출력 및 712에 대해 6 x 6 x (256 x 4k)의 차원을 갖는 제2 출력)를 각각 추가로 생성하는 컨벌루션(710 및 712)에 각각 제공될 수 있다. 제1 및 제2 출력 모두 제1 다운샘플링된 출력(예를 들어, 17 x 17 x 2K의 차원을 갖는 제1 출력) 및 제2 다운샘플링된 출력(예를 들어, 17 x 17 x 4K의 차원을 갖는 제2 출력)을 각각 생성하는 오퍼레이터들(710)에 의해 개별적으로 프로세싱될 수 있다. 추가적으로 또는 대안적으로, 딥 러닝 모듈은 오퍼레이터(710)에서 검색 영역의 피처 맵(708)을 추출한다(예를 들어, 6 x 6 x 256의 차원을 갖는 피처 맵을 추출).
[000339] 외부 링 정합으로 측정:
[000340] 칼만 필터에서 측정치는 현재 시간에 획득된다:
Figure pct00151
(2)
[000341] 여기서 zk는 이미지 정합에 의해 획득된 측정치이고 vk는 wk와 유사한 측정 잡음이다. 일부 실시예들에서, 이미지 정합은 SIFT 방법에 기초한다. 강도 기반 정합 방법(상호 상관 및 상호 인(in)-정보)은 예시적인 데이터에 대한 SIFT만큼 견고하지 않지만, 이러한 방법들은 예를 들어, 캡처된 망막 이미지가 근적외선 이미지와 같이 검출 가능한 피처들을 제공할 수 없는 경우에 사용될 수 있다.
[000342] 상술한 바와 같이, 프레임의 외부 링은 더 정확한 망막 위치를 나타내는 반면 외부 링이 포함하는 매우 희박한 피처들로 인해 전체적으로 외부 링을 직접 매칭하는 것은 어렵다. 유사한 배경과 외부 링 정합의 몇몇 피처들의 간섭을 감소시키기 위해, 이미지 정합은 두 단계를 포함하며; 전체 프레임의 대략적인 정합과 외부 링만의 미세 정합이다. 대략적인 로컬화에서, 일부 실시예들은 2 개의 이미지로부터 피처 포인트들을 검출하고 검색 이미지 상의 대응하는 영역 f~에 프레임 f를 정합한다. 외부 링 정합에서, 탐색 이미지 상의 f~ 주변의 확대된 영역 내의 피처 포인트들이 선택되고, 이들은 프레임 상의 외부 링 영역에 속하는 피처 포인트들과 다시 매칭된다. 확대된 영역을 사용하면 대략적인 정합에서 매칭된 피처 포인트들이 내부 영역에서 집중될 때 알고리즘의 견고성을 개선한다. 이 방법은 또한 피처 포인트들의 반복된 컴퓨테이션을 피한다. 망막 이미지들의 문제로 인해, 칼만 필터의 이러한 측정치는 때때로 누락되고, 추적 시스템은 다음의 성공적인 정합까지만 딥 신경 작업에 의존한다.
[000343] 예를 들어, 도 4는 일부 실시예들에서 통상의 동공-글린트 방법들과 비교한 예시적인 망막-기반 추적의 일부 예시적인 벤치마크 결과들(402)을 예시한다. 보다 구체적으로, 통상의 동공-글린트 방법의 추적 오차는 통상적으로 0.5° 내지 1° 내에 속하는 반면, 본원에 설명된 것과 같은 망막 기반 추적 방법은 0.68°의 추적 오차를 제공한다. 또한, 통상의 동공-글린트 방법의 추적 해상도는 통상적으로 0.7°-1°/픽셀 내에 속하는 반면, 본원에 설명된 것과 같은 망막 기반 추적 방법은 0.05°/픽셀의 추적 해상도를 제공한다.
[000344] 작업 예들:
[000345] 2 개의 데이터세트들에 대한 실험들이 수행된다: 본원에 소개된 합성 망막 움직임 비디오들 및 SFE 비디오들. 일부 실시예들은 칼만 필터로 제안된 추적 방법의 성능과 딥 러닝만을 사용한 것을 비교한다.
[000346] 합성 데이터는 STARE 프로젝트로부터의 공개 망막 데이터세트 STARE(Structured Analysis of the Retina)로부터 생성된다. 일부 실시예들은 딥 러닝을 위한 훈련 세트로서 300 개의 망막 이미지들로부터 전체 36000 프레임의 망막 움직임 비디오를 생성하고, 테스트 세트로서 15 개의 망막 이미지들로부터 4000 개의 프레임을 생성한다. 일부 실시예들은 방법의 견고성을 평가하기 위해 테스트 비디오 프레임에 이미지 열화의 4 개의 상이한 레벨을 추가한다: 1) 평균이 0이고 0.001 ~ 0.005에서 선택된 분산을 갖는 가우시안 잡음; 2) 각각 -10° ~ 10°및 -5° ~ 5°의 회전 및 전단각; 3) 0.8 ~ 1.2로부터의 스케일 변경. 열화 레벨은 파라미터 범위 내에서 균일하게 증가한다. 앞서 언급한 방법이 가장 큰 열화에서도 0.63°의 허용 가능한 정확도를 가짐을 표 1에 나타내었다.
[000347] SFE 비디오의 실험은 하나의 망막 이미지 상에서 구현된다. 일부 실시예들은 훈련을 위해 전체 7000 프레임을 수집하고 테스트를 위해 400 프레임을 수집했다. 테스트 오차(300)는 도 3에서 누적 분포 함수(CDF: cumulative distribution function)로 요약된다. 일부 실시예들은 딥 러닝만을 사용하는 경우 5° 초과의 이상값들이 있음을 볼 수 있다. 데이터 주석의 정확도는 앞서 설명한 바와 같이 대략 0.35°이며, 주석의 영향을 제외한 방법의 평균 오차는 0.68°인 반면, 신경망만 사용하는 경우 평균 오차는 1.01°이다. 속도는 Titan RTX의 GPU로 72 fps에 도달할 수 있다.
[000348] 일부 실시예들은 HMD를 위한 망막 기반 눈 추적의 애플리케이션과 딥 러닝 및 이미지 정합의 성능을 결합하기 위해 칼만 필터를 사용하는 새로운 실시간 로컬화 방법을 제시한다. 일부 실시예들에서, 이것은 AR/VR 헤드셋에 망막 추적을 매립하고 알고리즘 솔루션들을 제공하는 첫 번째 체계적인 논의이다.
[000349] 상이한 사용자의 망막들로부터의 더 큰 데이터세트들 증가된 정확도가 달성될 수 있다. 본원에 나타낸 상세 사항은 예로서 단지 본 발명의 바람직한 실시예의 예시적 논의를 위한 것이며 본 발명의 다양한 실시예들의 원리 및 개념적 양태들에 대한 가장 유용하고 쉽게 이해되는 설명인 것으로 생각되는 것을 제공하기 위해 제시된다. 이와 관련하여, 본 발명의 기본적인 이해에 필요한 것보다 더 상세하게 본 발명의 구조적 상세 사항을 나타내려는 시도는 하지 않으며, 도면들 및/또는 예들과 함께 이해되는 설명은 본 발명의 몇몇 형태들이 실제로 구현될 수 있는 방식을 본 기술 분야의 통상의 기술자에게 명백하게 한다.
[000350] 도 8은 일부 실시예들에서 로봇 로컬화의 단순화된 작업 예를 예시한다. 보다 구체적으로, 도 8은 박스(804)가 로봇(802)의 카메라의 현재 FOV를 예시하는 로봇 로컬화 시나리오의 예를 예시한다. 예를 들어, 파노라마 광학 카메라 장면과 같은 센서 매핑을 사용하여 하나 이상의 공간들 또는 건물들의 알려진 완전한 맵으로, 로봇은 예를 들어, 도 8에 도시된 바와 같이 장면 맵 상으로 캡처된 카메라 프레임(예를 들어, 804)을 매칭함으로써 위치를 찾을 수 있다.
[000351] 도 9는 일부 실시예들에서 수술에서 현미경 또는 내시경 로컬화의 또 다른 단순화된 작업 예를 예시한다. 보다 구체적으로, 일부 실시예들은 수술에서 조직을 보는 내시경(902)의 현미경을 로컬화하기 위해 적용될 수 있다. 현미경 또는 내시경으로 이미징된 비디오 프레임은 인체 조직들의 더 큰 장면 맵(예를 들어, 로컬화된 프레임들(904)) 상에 로컬화될 수 있다. 이러한 실시예들은 수술 도구들의 경로 계획을 도울 수 있다.
[000352] 도 10a는 일부 실시예들에서 얼굴 또는 눈 추적을 위한 얼굴 또는 눈(들)의 로컬화의 또 다른 단순화된 작업 예들을 예시한다. 보다 구체적으로, 도 10a는 눈 추적을 위한 눈(들)(1004A)의 식별 및 추적 및/또는 대상 사용자의 얼굴(1002A)의 식별 및 추적을 예시한다.
[000353] 도 10b는 일부 실시예들에서 객체 추적을 위한 객체의 로컬화의 또 다른 단순화된 작업 예들을 예시한다. 보다 구체적으로, 도 10b는 객체 추적을 위한 자동차(1002B)(도 10b의 차량)의 식별 및 추적을 예시한다.
[000354] 도 10c는 일부 실시예들에서 객체 추적을 위한 객체의 로컬화의 또 다른 단순화된 작업 예들을 예시한다. 보다 구체적으로, 도 10c는 추적되는 객체(예를 들어, 차량(1002C))가 많이 변하지 않을 때 일반적인 추적 작업을 예시한다. 객체는 각각의 장면에서 로컬화될 템플릿으로서 취해질 수 있으며, 칼만 필터는 일부 실시예들에서 신경망의 성능과 이미지 정합의 균형을 맞추는 데 사용된다. 일부 실시예들에서, 신경망의 추적 정확도는 객체의 이미지 정합이 완전히 작동할 때 픽셀-레벨로 개선될 수 있다. 객체가 왜곡되거나 차단되어 이미지 정합이 실패할 때, 추적은 이러한 실시예들 중 일부에서 신경망에만 의존할 것이다.
[000355] 도 16a 내지 도 16i는 하나 이상의 실시예들에서 마이크로 프로젝터 어레이의 예시적인 구성 및 마이크로 프로젝터 어레이와 광학 시스템의 커플링을 예시한다. 도 16g를 참조하면, 복수의 인입 빔렛(11332)의 각각은 이산화된 파면 디스플레이 구성에서 눈(1158)에 대해 작은 사출 동공(11330)을 통과하고 있다. 도 16h를 참조하면, 빔렛(11332)의 그룹의 서브세트(11334)는 동일한 더 큰 크기의 광선의 일부인 것처럼 인식될 매칭 컬러 및 강도 레벨들로 구동될 수 있다(굵게 표시된 서브그룹(11334)은 "집계된 빔"으로 간주될 수 있음). 이 경우, 빔렛들의 서브세트는 서로 평행하며, (먼 산에서 오는 광과 같이) 광학 무한대에서 시준된 집계 빔을 나타낸다. 눈은 무한대에 수용되어 빔렛들의 서브세트는 눈의 각막과 렌즈에 의해 편향되어 모두 실질적으로 망막의 동일한 위치에 속하며 단일 초점 픽셀을 포함하는 것으로 인식된다.
[000356] 도 16i는 눈(1158)이 위로부터 코로나-스타일의 평면도에서 보여지는 경우, 사용자의 눈(1158)의 시야의 우측으로부터 들어오는 집계 시준된 빔(11336)을 나타내는 빔렛들의 또 다른 서브세트를 도시한다. 도 16i는 도 16h와 동일한 요소를 묘사하며, 또한 집계된 시준된 빔(11336)을 나타내는 빔렛들의 추가 서브세트를 포함한다. 다시, 눈은 무한대로 수용되는 것으로 나타나서, 빔렛들은 망막의 동일한 스폿(spot)에 떨어지며 픽셀은 초점이 맞춰진 것으로 인식된다. 반대로, 광선들의 발산 팬(fan)으로서 눈에 도달하는 빔렛들의 다른 서브세트가 선택되면, 해당 빔렛들은 해당 광선 팬의 기하학적 원점과 매칭되는 부근 포인트로 눈이 순응을 시프트할 때까지 해당 빔렛들은 망막의 동일한 위치에 떨어지지 않을 것이다(초점이 맞는 것으로 인식됨).
[000357] 눈의 해부학적 동공과 빔렛들의 교차점의 패턴들(예를 들어, 사출 동공들의 패턴)과 관련하여, 교차점은 단면 효율적인 육각-격자 또는 정사각형 격자 또는 다른 2차원 어레이와 같은 구성으로 조직될 수 있다. 또한, 출사 동공들의 3차원 어레이뿐만 아니라 출사 동공들의 시변 어레이도 생성될 수 있다.
[000358] 이산화된 집계 파면들은 관찰 광학 기기의 출사 동공과 광학적으로 공액으로 배치된 마이크로디스플레이 또는 마이크로프로젝터의 어레이, (안경 렌즈와 같은) 직접 시야 기판에 커플링된 마이크로디스플레이 또는 마이크로프로젝터 어레이와 같은 여러 구성을 사용하여 생성될 수 있어, 추가 중간 관찰 광학 기기, 연속적인 공간 광 변조 배열 기술 또는 도파관 기술 없이 눈에 직접 광을 투사한다.
[000359] 도 16a를 참조하면, 일 실시예에서, 스테레오스코픽(예를 들어, 3차원) 또는 4차원 또는 5차원 광필드는 소형 프로젝터들 또는 (스캐닝된 파이버 디스플레이와 같은) 디스플레이 유닛들의 그룹을 묶음으로써 생성될 수 있다. 도 16a는 예를 들어, 서브-이미지(11340)를 출력하는 각각의 파이버 디스플레이와 함께 7 mm 직경의 육각형 어레이를 생성할 수 있는 육각형 격자 투사 묶음(11338)을 묘사한다. 이러한 어레이가 눈의 입사 동공과 광학적으로 공액으로 배치되도록 그 전방에 배치된 렌즈와 같은 광학 시스템을 갖는다면, 이는 도 16b에 도시된 바와 같이 눈의 동공에서 어레이의 이미지를 생성할 것이고, 이는 본질적으로 도 16g의 실시예와 동일한 광학 배열을 제공한다.
[000360] 구성의 각각의 작은 사출 동공들은 스캐닝 파이버 디스플레이와 같은 묶음(11338)의 전용 소형 디스플레이에 의해 생성된다. 광학적으로, 이는 전체 육각 어레이(11338)가 일부 실시예들에서 해부학적 동공(1145)에 바로 위치되는 것과 같다. 이러한 실시예들은 눈의 더 큰 해부학적 입사 동공(1145) 내의 상이한 작은 사출 동공으로 상이한 서브 이미지들을 구동하기 위해 사용될 수 있으며, 이는 눈 동공과의 교차점 및 복수의 입사각을 갖는 빔렛들의 슈퍼세트를 포함한다. 별도의 프로젝터들 또는 디스플레이들의 각각은 약간 다른 이미지로 구동될 수 있어, 다른 광 강도들 및 컬러들로 구동되는 광선들의 다른 세트들을 끌어내는 서브-이미지가 생성될 수 있다.
[000361] 일 실시예에서, 도 16b의 실시예에서와 같이 엄격한 이미지 공액이 생성될 수 있으며, 여기서 어레이(11338)와 동공(1145)의 직접적인 일대일 매핑이 있다. 다른 변형에서, 어레이의 디스플레이들과 광학 시스템(도 16b의 렌즈(11342)) 사이에 간격이 변화될 수 있어, 눈 동공에 어레이의 공액 매핑을 수신하는 대신, 눈 동공은 일정한 다른 거리에서 어레이로부터 광선을 포착할 수 있다. 이러한 구성으로, 이산화된 집계 파면 표현을 생성할 수 있는 빔들의 각도 다이버시티(diversity)를 여전히 얻을 수 있지만 어떠한 광선을 어떻게 구동할지 그리고 전력과 강도에 대한 수학이 더 복잡해질 수 있다(한편, 이러한 구성은 관찰 광학 관점으로부터 더 간단한 것으로 간주될 수 있음). 광 필드 이미지 캡처와 관련된 수학은 이러한 계산에 활용될 수 있다.
[000362] 도 16c를 참조하면, 마이크로 디스플레이 또는 마이크로 프로젝터(11346)의 어레이가 안경 프레임과 같은 프레임(11344)에 커플링될 수 있는 또 다른 광필드 생성 실시예가 도시되어 있다. 이러한 구성은 눈(1158) 앞에 위치될 수 있다. 묘사된 구성은 어레이(11346)와 눈(1158)의 디스플레이들(예를 들어, 스캐닝 파이버 디스플레이들) 사이에 개재된 대규모 광학 요소가 없는 비공액 배열이다. 한 쌍의 안경을 상상할 수 있으며, 안경 표면에 수직으로 위치된 스캐닝 파이버 엔진들과 같은 복수의 디스플레이들이 해당 안경에 커플링될 있으며, 모두 내측으로 각을 이루어 사용자의 동공을 가리킨다. 각각의 디스플레이는 빔렛 슈퍼세트의 다른 요소들을 나타내는 광선 세트를 생성하도록 구성될 수 있다.
[000363] 이러한 구성으로, 해부학적 동공(1145)에서 사용자는 도 16g를 참조하여 논의된 실시예들에서 수신된 것과 유사한 결과를 수신할 수 있으며, 여기서 사용자 동공의 모든 포인트가 상이한 디스플레이들에서 기여되는 복수의 입사각과 교차점으로 광선을 수신한다. 도 16d는 도 16d의 실시예가 반사 표면(11348)을 통해 현실 세계(11144)의 관찰을 또한 허용하면서 눈의 시야(1158)로부터 멀리 디스플레이 어레이(11346)를 이동하는 것을 용이하게 하기 위해 반사 표면(11348)을 특징으로 한다는 것을 제외하고는 도 16c와 유사한 비공액 구성을 예시한다.
[000364] 이산화된 집계 파면 디스플레이에 대한 각도 다이버시티를 생성하기 위한 다른 구성이 제시된다. 이러한 구성을 최적화하기 위해, 디스플레이 크기들을 최대로 줄일 수 있다. 디스플레이로 이용될 수 있는 스캐닝 파이버 디스플레이들은 1 mm 범위의 베이스라인 직경을 가질 수 있지만 인클로저 및 투사 렌즈 하드웨어의 감소는 이러한 디스플레이들의 직경들을 약 0.5 mm 이하로 감소시킬 수 있으며, 이는 사용자에게 덜 방해가 된다. 또 다른 소형화 기하학적 세분화는 파이버 스캐닝 디스플레이 어레이의 경우에 스캐닝 파이버 자체의 팁에 시준 렌즈(예를 들어, 구배 굴절률, 또는 "GRIN", 렌즈, 통상의 곡면 렌즈 또는 회절 렌즈를 포함할 수 있음)를 직접 커플링함으로써 달성될 수 있다. 예를 들어, 도 16e를 참조하면, 단일 모드 광섬유의 단부에 융합된 GRIN(gradient-index) 렌즈(11354)가 도시되어 있다. 압전 액추에이터와 같은 액추에이터(11350)는 파이버(11352)에 커플링될 수 있고 파이버 팁을 스캐닝하는 데 사용될 수 있다.
[000365] 다른 실시예에서, 파이버의 단부는 렌즈 효과를 생성하기 위해 광섬유의 곡선 연마 처리를 사용하여 반구형 형상으로 성형될 수 있다. 다른 실시예에서, 표준 굴절 렌즈는 접착제를 사용하여 각각의 광섬유의 단부에 커플링될 수 있다. 다른 실시예에서, 렌즈는 에폭시와 같은 투과성 중합체 재료 또는 유리의 소량으로 구축될 수 있다. 다른 실시예에서 광섬유의 단부는 용융되어 렌즈 효과를 위한 곡면을 생성할 수 있다.
[000366] 도 16f는 디스플레이 구성(예를 들어, 도 16e의 확대도에 도시된 GRIN 렌즈들을 갖는 스캐닝 파이버 디스플레이들)이 바람직하게는 광섬유(11352)의 클래딩과 거의 매칭되는 굴절률을 갖는 단일 투명 기판(11356)을 통해 함께 커플링될 수 있는 실시예를 도시하며, 섬유 자체는 묘사된 조립체를 가로질러 외부 세계를 보기 위해 실질적으로 보이지 않는다. 클래딩의 인덱스 매칭이 정확하게 수행되면, 더 큰 클래딩/하우징이 투명해지고 바람직하게는 직경이 약 삼(3) 마이크론인 작은 코어만 시야를 가릴 것이다. 일 실시예에서 디스플레이들의 행렬(11358)은 모두 안쪽으로 각을 이루어 사용자의 해부학적 동공을 향할 수 있다(다른 실시예에서, 이들은 서로 평행하게 유지될 수 있지만 이러한 구성은 덜 효율적이다).
[000367] 본원에 사용된 바와 같이 그리고 달리 나타내지 않는 한, 용어 "어느(a)" 및 "어떤(an)"은 "하나", "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 간주된다. 문맥상 달리 요구되지 않는 한, 본원에서 사용된 단수 용어는 복수를 포함하고 복수 용어는 단수를 포함할 것이다.
[000368] 문맥상 달리 명확하게 요구되지 않는 한, 설명 및 청구항 전반에 걸쳐 단어 '포함하다', '포함하는' 등은 배타적 또는 철저한 의미가 아니라 포괄적인 의미로 해석되어야 하며; 즉, "포함하지만 이에 한정되지는 않는"의 의미이다. 단수 또는 복수를 사용하는 단어들은 또한 각각 복수 및 단수도 포함한다. 추가로, "여기", "위" 및 "아래"라는 단어들 및 유사한 의미의 단어들은 본 출원에서 사용될 때 본 출원의 임의의 특정 부분들이 아닌 전체로서 본 출원을 지칭할 것이다.
[000369] 본 개시의 실시예들의 설명은 개시된 정확한 형태로 개시를 제한하거나 철저하게 하려는 것이 아니다. 본 개시의 특정 실시예 및 예는 예시의 목적으로 본원에 설명되어 있지만, 관련 기술 분야의 통상의 기술자가 인식하는 바와 같이 본 개시의 범위 내에서 다양한 등가 수정이 가능하다.
[000370] 본원에 인용된 모든 참고 문헌은 참조로 통합된다. 본 개시의 양태들은 필요한 경우 본 개시의 또 다른 실시예를 제공하기 위해 위의 참조 및 애플리케이션의 시스템들, 기능들 및 개념들을 채용하도록 수정될 수 있다. 이러한 변경 및 다른 변경은 상세한 설명에 비추어 본 개시에 대해 이루어질 수 있다.
[000371] 상술한 임의의 실시예들의 특정 요소들은 다른 실시예들의 요소들과 결합되거나 치환될 수 있다. 또한, 이러한 실시예들 중 적어도 일부에 특정 요소들을 포함하는 것은 선택 사항일 수 있으며, 여기서 추가 실시예들은 이러한 특정 요소들 중 하나 이상을 구체적으로 배제하는 하나 이상의 실시예들을 포함할 수 있다. 또한, 본 개시의 특정 실시예들과 연관된 이점이 이러한 실시예들의 맥락에서 설명되었지만, 다른 실시예들도 이러한 이점들을 나타낼 수 있으며, 모든 실시예들이 본 개시의 범위 내에 속하기 위해 반드시 이러한 이점을 나타낼 필요는 없다.
[000372] 상술한 다양한 실시예들의 피처들 및 양태들이 결합되어 추가 실시예들을 제공할 수 있음을 이해해야 한다. 상술한 상세한 설명에 비추어 이들 및 다른 변경들이 본 실시예들에 이루어질 수 있다. 일반적으로, 이하의 청구항들에서, 사용되는 용어는 청구항들을 명세서 및 청구항들에 개시된 특정한 실시예들로 한정하는 것으로 해석되어서는 안 되며, 이러한 청구항들이 부여받는 등가물의 전체 범위와 함께 모든 가능한 실시예들을 포함하는 것으로 해석되어야 한다.
[000373] 본 개시의 다양한 예시적인 실시예들이 본원에 설명된다. 비제한적인 의미로 이들 예를 참조한다. 이들은 본 개시의 보다 광범위하게 적용 가능한 양태들을 예시하기 위해 제공된다. 설명된 본 개시에 대해 다양한 변경이 이루어질 수 있고 본 개시의 진정한 사상 및 범위를 벗어나지 않고 등가물이 치환될 수 있다. 또한, 특정 상황, 재료, 물질의 조성, 프로세스, 프로세스 행위(들) 또는 단계(들)를 본 개시의 목적(들), 사상 또는 범위에 적응시키기 위해 많은 수정이 이루어질 수 있다. 또한, 본원에 설명되고 예시된 각각의 개별적인 변형은 본 개시의 범위 또는 사상을 벗어나지 않고 임의의 다른 몇몇 실시예들의 피처와 쉽게 분리되거나 결합될 수 있는 별개의 구성 요소들 및 피처들을 갖는다는 것을 본 기술 분야의 통상의 기술자는 이해할 것이다. 이러한 모든 수정은 본 개시와 연관된 청구항들의 범위 내에 있는 것으로 의도된다.
[000374] 본 개시는 대상 디바이스들을 사용하여 수행될 수 있는 방법들을 포함한다. 본 방법은 이러한 적절한 디바이스를 제공하는 행위를 포함할 수 있다. 이러한 제공은 최종 사용자에 의해 수행될 수 있다. 즉, "제공하는" 행위는 단지 최종 사용자가 대상 방법에서 필요한 디바이스를 제공하기 위해 획득, 액세스, 접근, 위치 지정, 설정, 활성화, 전원 켜기 또는 다른 행위를 요구할 뿐이다. 본원에서 인용된 방법들은 논리적으로 가능한 임의의 인용된 이벤트들의 순서뿐만 아니라 인용된 이벤트들의 순서로 수행될 수 있다.
[000375] 재료 선택 및 제조에 관한 상세 사항과 함께 본 개시의 예시적인 양태들이 위에 제시되었다. 본 개시의 다른 상세 사항에 관해, 이들은 위에 언급된 특허 및 간행물과 관련하여 이해될 수 있을 뿐만 아니라 본 기술 분야의 통상의 기술자에게 일반적으로 알려지거나 이해될 수 있다. 일반적으로 또는 논리적으로 채용되는 추가 행위들과 관련하여 본 개시의 방법 기반 양태들 대해서도 동일 사항이 유효할 수 있다.
[000376] 또한, 다양한 피처들을 선택적으로 통합하는 몇몇 예를 참조하여 본 개시가 설명되었지만, 본 개시는 본 개시의 각각의 변형에 대해 고려되는 바와 같이 설명되거나 표시된 것으로 제한되지 않는다. 설명된 본 개시에 대해 다양한 변경이 이루어질 수 있으며 등가물(본원에 인용되거나 간결함을 위해 포함되지 않음)은 본 개시의 진정한 사상 및 범위를 벗어나지 않고 치환될 수 있다. 또한, 값들의 범위가 제공되는 경우, 해당 범위의 상한과 하한 사이의 모든 중간 값과 그 언급된 범위의 임의의 다른 언급되거나 중간 값이 본 개시 내에 포함되는 것으로 이해된다.
[000377] 또한, 설명된 본 발명의 변형의 임의의 선택적 피처는 독립적으로, 또는 본원에 설명된 피처들 중 임의의 하나 이상과 조합하여 제시되고 청구될 수 있음이 고려된다. 단일 항목에 대한 참조는 동일한 항목이 복수 개 존재할 가능성을 포함한다. 보다 구체적으로, 본원 및 이와 연관된 청구항들에서 사용되는 단수 형태 "어느(a)", "어떤(an)", "상기(said)" 및 "그(the)"는 달리 구체적으로 언급되지 않는 한 복수 지시 대상을 포함한다. 즉, 관사들의 사용은 본 개시와 연관된 청구항들뿐만 아니라 위의 설명에서 주제 항목의 "적어도 하나"를 허용한다. 추가로 이러한 청구항들은 임의의 선택적 요소를 배제하도록 작성될 수 있다는 점에 유의한다. 이와 같이, 이 진술은 청구항 요소들의 인용 또는 "부정적" 제한의 사용과 관련하여 "오직", "단지" 등과 같은 이러한 배타적인 용어를 사용하기 위한 사전 근거 역할을 하기 위한 것이다.
[000378] 이러한 배타적인 용어를 사용하지 않고, 본 개시와 관련된 청구항들에서 "포함하는"이라는 용어는 주어진 수의 요소들이 이러한 청구항들에 열거되어 있는지 또는 피처의 추가가 이러한 청구항들에 제시되는 요소의 특성을 변형하는 것으로 간주될 수 있는지에 관계없이 임의의 추가 요소의 포함을 허용해야 한다. 본원에 구체적으로 정의된 경우를 제외하고, 본원에 사용된 모든 기술 및 과학 용어들은 청구 유효성을 유지하면서 가능한 한 일반적으로 이해되는 넓은 의미로 제공되어야 한다.
[000379] 본 개시의 폭은 제공된 예들 및/또는 대상 명세서로 제한되지 않고, 오히려 본 개시와 연관된 청구항 언어의 범위에 의해서만 제한된다.
[000380] 예시된 실시예들의 상술한 설명은 개시된 정확한 형태로 실시예들을 제한하거나 철저하게 하기 위한 것이 아니다. 특정 실시예들 및 예들이 예시의 목적으로 본원에 설명되어 있지만, 관련 기술 분야의 통상의 기술자에 의해 인식되는 바와 같이, 본 개시의 사상 및 범위를 벗어나지 않고 다양한 등가 수정이 이루어질 수 있다. 본원에서 제공되는 다양한 실시예들의 교시는 VR, AR, MR, XR 또는 하이브리드 시스템들을 구현하고/구현하거나 사용자 인터페이스를 채용하는 다른 디바이스들에 적용될 수 있으며, 위에서 일반적으로 설명된 광학 시스템(12)의 예가 반드시 필요한 것은 아니다.
[000381] 예를 들어, 상술한 상세한 설명은 블록도, 개략도 및 예들을 사용하여 디바이스들 및/또는 프로세스들의 다양한 실시예들을 제시했다. 이러한 블록도, 개략도 및 예들이 하나 이상의 기능 및/또는 동작을 포함하는 한, 이러한 블록도, 흐름도 또는 예들 내의 각각의 기능 및/또는 동작이 광범위한 하드웨어, 소프트웨어, 펌웨어 또는 사실상 임의의 모든 조합에 의해 개별적으로 및/또는 집합적으로 구현될 수 있음을 본 기술 분야의 통상의 기술자는 이해할 것이다.
[000382] 일 실시예에서, 본 주제는 주문형 집적 회로(ASIC)들을 통해 구현될 수 있다. 그러나, 본 기술 분야의 통상의 기술자는 본원에 개시된 실시예들이 전체적으로 또는 부분적으로 하나 이상의 컴퓨터에 의해 실행되는 하나 이상의 컴퓨터 프로그램으로서(예를 들어, 하나 이상의 컴퓨터 시스템 상에서 실행되는 하나 이상의 프로그램으로서), 하나 이상의 제어기(예를 들어, 마이크로컨트롤러)에서 실행되는 하나 이상의 프로그램으로서, 하나 이상의 프로세서(예를 들어, 마이크로프로세서)에 의해 실행되는 하나 이상의 프로그램으로서, 펌웨어로서 또는 사실상 임의의 조합으로서 표준 집적 회로에서 동등하게 구현될 수 있음을 인식하고, 회로를 설계하고/하거나 소프트웨어 및/또는 펌웨어에 대한 코드를 작성하는 것은 본 개시의 교시에 비추어 본 기술 분야의 통상의 기술자의 기술 범위 내에 있을 것임을 인식할 것이다.
[000383] 로직이 소프트웨어로 구현되고 메모리에 저장될 때, 로직 또는 정보는 임의의 프로세서 관련 시스템 또는 방법에 의해 또는 이와 관련하여 사용하기 위해 임의의 컴퓨터 판독 가능 매체에 저장될 수 있다. 본 개시의 맥락에서, 메모리는 컴퓨터 및/또는 프로세서 프로그램을 포함하거나 저장하는 전자, 자기, 광학 또는 다른 물리적 디바이스 또는 수단인 컴퓨터 판독 가능 매체이다. 로직 및/또는 정보는 컴퓨터 기반 시스템, 프로세서 포함 시스템, 또는 명령 실행 시스템, 장치 또는 디바이스에서 명령을 페칭하고 로직 및/또는 정보와 관련된 명령을 실행할 수 있는 다른 시스템과 같은 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 이와 관련하여 임의의 컴퓨터 판독 가능 매체에 구현될 수 있다.
[000384] 본 명세서의 맥락에서, "컴퓨터 판독 가능 매체"는 명령 실행 시스템, 장치 및/또는 디바이스에 의해 또는 이와 관련하여 사용하기 위해 로직 및/또는 정보와 연관된 프로그램을 저장할 수 있는 임의의 요소일 수 있다. 컴퓨터 판독 가능 매체는 예를 들어, 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치 또는 디바이스일 수 있지만 이에 제한되지 않는다. 컴퓨터 판독 가능 매체의 보다 구체적인 예(비포괄적 목록)는 이하를 포함할 것이다: 휴대용 컴퓨터 디스켓(자기, 컴팩트 플래시 카드, 보안 디지털 등), 랜덤-액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능 프로그램 가능 판독 전용 메모리(EPROM, EEPROM 또는 플래시 메모리), 휴대용 컴팩트 디스크 판독 전용 메모리(CDROM), 디지털 테이프 및 다른 비일시적 매체.
[000385] 본원에 설명된 많은 방법들이 변형되어 수행될 수 있다. 예를 들어, 많은 방법들은 추가 동작을 포함하거나, 일부 동작을 생략하고/생략하거나, 예시되거나 설명된 것과 다른 순서로 동작을 수행할 수 있다.
[000386] 위에서 설명된 다양한 실시예는 추가 실시예를 제공하기 위해 조합될 수 있다. 본원의 특정 교시 및 정의와 모순되지 않는 범위 내에서, 미국 특허, 미국 특허 출원 공보, 미국 특허 출원, 외국 특허, 외국 특허 출원 및 비특허 공개물 모두는 본 명세서에서 참조되고/참조되거나 본 출원 데이터 시트에 나열되었다. 실시예들의 양태들은 필요한 경우 또 다른 실시예를 제공하기 위해 다양한 특허, 출원 및 공보의 시스템, 회로 및 개념을 채용하도록 수정될 수 있다.
[000387] 상술한 상세한 설명에 비추어 실시예에 이들 및 다른 변경이 이루어질 수 있다. 일반적으로, 후술되는 청구항들에서, 사용되는 용어들은 청구항들을 본 명세서 및 청구항들에 개시된 특정 실시예들로 제한하는 것으로 해석되어서는 안 되며, 이러한 청구항들이 부여받는 등가물의 전체 범위에 따라 모든 가능한 실시예들을 포함하는 것으로 해석되어야 한다. 따라서 청구항들은 본 개시에 의해 제한되지 않는다.
[000388] 또한, 상술한 다양한 실시예들은 추가 실시예들을 제공하기 위해 조합될 수 있다. 실시예들의 양태는 수정되어 또 다른 실시예들을 제공하기 위해 필요한 경우 다양한 특허, 출원 및 공보의 개념을 채택할 수 있다.
[000389] 상술한 상세한 설명에 비추어 실시예에 이들 및 다른 변경이 이루어질 수 있다. 일반적으로, 후술되는 청구항들에서, 사용되는 용어들은 청구항들을 명세서 및 청구항들에 개시된 특정한 실시예들로 제한하는 것으로 해석되어서는 안 되며, 이러한 청구항들이 부여받은 등가물의 전체 범위를 따라 모든 가능한 실시예들을 포함하는 것으로 해석되어야 한다. 따라서, 청구항들은 본 개시에 의해 제한되지 않는다.

Claims (15)

  1. 근안(near-eye) 디스플레이에서 눈의 움직임을 추적하기 위한 방법으로서,
    객체 또는 그 일부의 복수의 베이스 이미지들을 식별하는 단계;
    상기 복수의 베이스 이미지들 중 적어도 일부에 적어도 부분적으로 기초하여 검색 이미지를 생성하는 단계;
    딥 러닝(deep learning) 모델에서 신경망을 사용하여 베이스 이미지에 대해 적어도 딥 러닝 프로세스를 수행하여 딥 러닝 결과를 생성하는 단계; 및
    칼만(Kalman) 필터 모델 및 상기 딥 러닝 결과를 사용하여 캡처된 이미지와 상기 검색 이미지에 대해 적어도 이미지 정합(registration) 프로세스를 수행하여 상기 검색 이미지에 상기 캡처된 이미지를 로컬화(localizing)하는 단계를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 객체는 사용자의 망막을 포함하고, 상기 망막의 적어도 일부를 나타내는 상기 캡처된 이미지는 하나 이상의 입력 광 패턴들에 응답하여 동공으로부터의 글린트(glint)를 캡처하는 동공-글린트 기술들을 사용하지 않고 상기 검색 이미지에 대해 로컬화되는, 방법.
  3. 제1 항에 있어서,
    상기 딥 러닝 결과를 생성하는 단계는,
    딥 컨벌루션 신경망(DCNN: deep convolution neural network)을 사용하여 상기 캡처된 이미지의 영역의 피처(feature)를 추출하는 단계;
    상기 피처를 제1 피처 및 제2 피처를 포함하는 복수의 피처들로 변환하는 단계;
    상기 제1 피처에 적어도 부분적으로 기초하여 상기 영역을 포지티브(positive) 영역 또는 네거티브(negative) 영역으로 분류하는 단계; 및
    상기 제2 피처에 적어도 부분적으로 기초하여 상기 영역에 대한 회귀 또는 보정을 결정하는 단계를 포함하는, 방법.
  4. 제1 항에 있어서,
    상기 딥 러닝 결과를 생성하는 단계는,
    딥 컨벌루션 신경망(DCNN)을 사용하여 상기 캡처된 이미지의 영역의 피처를 추출하는 단계; 및
    상기 피처를 제1 피처 및 제2 피처를 포함하는 복수의 피처들로 변환하는 단계를 포함하는, 방법.
  5. 제4 항에 있어서,
    상기 딥 러닝 결과를 생성하는 단계는,
    상기 DCNN에서 하나 이상의 컨벌루션 계층들을 사용하여 적어도 상기 제1 피처를 적어도 컨벌빙(convolving)함으로써 제1 응답 맵을 생성하는 단계; 및
    상기 제1 응답 맵에 적어도 부분적으로 기초하여 상기 영역을 포지티브 영역 또는 네거티브 영역으로 분류하는 단계를 더 포함하는, 방법.
  6. 제5 항에 있어서,
    상기 딥 러닝 결과를 생성하는 단계는,
    상기 DCNN에서 상기 하나 이상의 컨벌루션 계층들 또는 하나 이상의 상이한 컨벌루션 계층들을 사용하여 적어도 상기 제2 피처를 컨벌빙함으로써 제2 응답 맵을 생성하는 단계; 및
    적어도 상기 제2 응답 맵을 사용하여 상기 영역의 예측된 위치에 대한 회귀 또는 보정을 결정하는 단계를 더 포함하는, 방법.
  7. 제1 항에 있어서,
    상기 캡처된 이미지를 로컬화하는 단계는,
    상기 딥 러닝 프로세스를 상태 천이 모델에 매립하는 단계; 및
    적어도 상기 상태 천이 모델을 사용하여 하나 이상의 측정치들로서 상기 칼만 필터 모델에서의 상기 딥 러닝 결과를 수신하는 단계 ― 상기 상태 천이 모델은 이전 시점에서의 이전 포지션 상태에 적어도 부분적으로 기초하고 상태 추정 모델의 제어 벡터 또는 프로세스 잡음 중 적어도 하나에 기초하여 다음 시점에서의 다음 포지션 상태를 결정하는 데 사용됨 ― 를 포함하는, 방법.
  8. 제7 항에 있어서,
    상기 캡처된 이미지를 로컬화하는 단계는,
    상기 이미지 정합 프로세스에서 적어도 상기 칼만 필터 모델을 사용하여 다음 시점에서의 측정치를 결정하는 단계;
    적어도 상기 이미지 정합 프로세스를 수행하여 유사한 배경 또는 하나 이상의 유사한 피처들의 간섭들을 감소시키는 단계; 및
    상기 칼만 필터 모델 및 상기 이미지 정합 프로세스를 사용하여 상기 검색 이미지에서 상기 캡처된 이미지를 로컬화하는 단계를 포함하는, 방법.
  9. 제7 항에 있어서,
    상기 딥 러닝 프로세스를 매립하는 단계는,
    상기 상태 천이 모델에 대한 하나 이상의 제어 벡터들을 결정하는 단계;
    통계적 분포로부터 프로세스 잡음을 도출하는 단계; 및
    상기 상태 천이 모델에 대한 시간 스텝(step)을 결정을 결정하는 단계를 포함하는, 방법.
  10. 제9 항에 있어서,
    상기 칼만 필터 모델 및 상기 이미지 정합 프로세스를 사용하여 상기 검색 이미지에서 상기 캡처된 이미지를 로컬화하는 단계는,
    상기 캡처된 이미지의 전체 프레임에 대해 대략적인 정합을 수행하는 단계; 및
    상기 대략적인 정합에서 참조되는 영역 주위의 외부 영역에서 하나 이상의 피처들 또는 피처 포인트들에 대해 미세 정합을 수행하는 단계를 포함하는, 방법.
  11. 제10 항에 있어서,
    상기 캡처된 이미지의 전체 프레임에 대해 상기 대략적인 정합을 수행하는 단계는,
    상기 캡처된 이미지 또는 상기 검색 이미지의 상기 전체 프레임의 하나 이상의 영역들에서 상기 하나 이상의 피처들 또는 상기 피처 포인트들을 검출하는 단계; 및
    상기 캡처된 이미지를 상기 전체 프레임의 상기 하나 이상의 영역들에 정합시키는 단계를 포함하는, 방법.
  12. 제11 항에 있어서,
    상기 대략적인 정합에서 참조되는 영역 주위의 상기 외부 영역에서 상기 하나 이상의 피처들 또는 피처 포인트들에 대해 상기 미세 정합을 수행하는 단계는,
    상기 대략적인 정합에서 참조되는 상기 영역에 대응하는 확대된 영역 내의 피처 또는 피처 포인트를 선택하는 단계; 및
    상기 피처 또는 상기 피처 포인트를 상기 검색 이미지의 상기 외부 영역의 대응하는 피처 또는 피처 포인트와 매칭시키는 단계를 포함하는, 방법.
  13. 제12 항에 있어서,
    상기 대략적인 정합에서 참조되는 영역 주위의 상기 외부 영역에서 상기 하나 이상의 피처들 또는 피처 포인트들에 대해 상기 미세 정합을 수행하는 단계는,
    상기 피처 또는 상기 피처 포인트와 상기 검색 이미지의 상기 외부 영역의 대응하는 피처 또는 피처 포인트의 매칭의 결과에 적어도 부분적으로 기초하여 상기 검색 이미지에서 상기 캡처된 이미지를 로컬화하는 단계를 포함하는, 방법.
  14. 근안 디스플레이에서 눈의 움직임을 추적하기 위한 시스템으로서,
    프로세서, 스캐닝 파이버(fiber) 조립체 및 명령어들을 저장하는 메모리를 포함하고, 상기 명령어들은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 근안 디스플레이에서 눈의 움직임을 추적하기 위해 제1 항 내지 제13 항 중 어느 한 항에 따른 방법을 수행하게 하는, 시스템.
  15. 명령어들을 저장한 비일시적 컴퓨터-판독 가능 매체로서,
    상기 명령어들은 마이크로프로세서에 의해 실행될 때, 상기 마이크로프로세서로 하여금 근안 디스플레이에서 눈의 움직임을 추적하기 위해 제1 항 내지 제13 항 중 어느 한 항에 따른 방법을 수행하게 하는, 비일시적 컴퓨터-판독 가능 매체.
KR1020237001121A 2020-06-12 2021-06-11 근안 디스플레이들에서의 눈 추적 KR20230026398A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063038414P 2020-06-12 2020-06-12
US63/038,414 2020-06-12
PCT/US2021/037072 WO2021252940A1 (en) 2020-06-12 2021-06-11 Eye tracking in near-eye displays

Publications (1)

Publication Number Publication Date
KR20230026398A true KR20230026398A (ko) 2023-02-24

Family

ID=78845945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237001121A KR20230026398A (ko) 2020-06-12 2021-06-11 근안 디스플레이들에서의 눈 추적

Country Status (7)

Country Link
US (2) US11907418B2 (ko)
EP (1) EP4165460A4 (ko)
JP (1) JP2023529679A (ko)
KR (1) KR20230026398A (ko)
CN (1) CN116194820A (ko)
IL (1) IL298986A (ko)
WO (1) WO2021252940A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022013077A (ja) * 2020-07-03 2022-01-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US11323691B1 (en) * 2021-01-14 2022-05-03 Lightspace Technologies, SIA Display system for displaying three-dimensional image and method therefor
US11803238B1 (en) * 2022-06-03 2023-10-31 Microsoft Technology Licensing, Llc Eye and hand tracking utilizing lensless camera and machine learning

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008781A (en) 1992-10-22 1999-12-28 Board Of Regents Of The University Of Washington Virtual retinal display
US7206435B2 (en) * 2002-03-26 2007-04-17 Honda Giken Kogyo Kabushiki Kaisha Real-time eye detection and tracking under various light conditions
AU2003901528A0 (en) * 2003-03-31 2003-05-01 Seeing Machines Pty Ltd Eye tracking system and method
GB0426523D0 (en) 2004-12-02 2005-01-05 British Telecomm Video processing
US10567641B1 (en) * 2015-01-19 2020-02-18 Devon Rueckner Gaze-directed photography
JP2018092610A (ja) * 2016-11-28 2018-06-14 キヤノン株式会社 画像認識装置、画像認識方法及びプログラム
CN108985135A (zh) * 2017-06-02 2018-12-11 腾讯科技(深圳)有限公司 一种人脸检测器训练方法、装置及电子设备
US10338400B2 (en) * 2017-07-03 2019-07-02 Holovisions LLC Augmented reality eyewear with VAPE or wear technology
US20190012835A1 (en) * 2017-07-07 2019-01-10 Microsoft Technology Licensing, Llc Driving an Image Capture System to Serve Plural Image-Consuming Processes
EP4354207A2 (en) 2018-01-17 2024-04-17 Magic Leap, Inc. Eye center of rotation determination, depth plane selection, and render camera positioning in display systems
CN110096933B (zh) * 2018-01-30 2023-07-18 华为技术有限公司 目标检测的方法、装置及系统
WO2019168869A1 (en) * 2018-02-27 2019-09-06 Nvidia Corporation Real-time detection of lanes and boundaries by autonomous vehicles
US11080590B2 (en) * 2018-03-21 2021-08-03 Nvidia Corporation Stereo depth estimation using deep neural networks
US11436484B2 (en) * 2018-03-27 2022-09-06 Nvidia Corporation Training, testing, and verifying autonomous machines using simulated environments
US10948985B2 (en) * 2018-03-27 2021-03-16 Nvidia Corporation Retina space display stabilization and a foveated display for augmented reality
US10943049B2 (en) * 2018-09-28 2021-03-09 Taiwan Semiconductor Manufacturing Co., Ltd. Rule check violation prediction systems and methods
US10970935B2 (en) * 2018-12-21 2021-04-06 Curious Company, LLC Body pose message system
US10852551B1 (en) * 2019-06-07 2020-12-01 Facebook Technologies, Llc Wavefront sensing with ellipsoidal lensing structure
US10901502B2 (en) * 2019-06-27 2021-01-26 Facebook, Inc. Reducing head mounted display power consumption and heat generation through predictive rendering of content

Also Published As

Publication number Publication date
EP4165460A1 (en) 2023-04-19
EP4165460A4 (en) 2023-12-06
US11907418B2 (en) 2024-02-20
IL298986A (en) 2023-02-01
JP2023529679A (ja) 2023-07-11
US20210397254A1 (en) 2021-12-23
WO2021252940A1 (en) 2021-12-16
US20240184359A1 (en) 2024-06-06
CN116194820A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
US11823450B2 (en) Enhanced pose determination for display device
JP6960494B2 (ja) 眼画像の収集、選択および組み合わせ
EP3741109B1 (en) Eye center of rotation determination, depth plane selection, and render camera positioning in display systems
JP7436600B2 (ja) 眼追跡のための個人化されたニューラルネットワーク
KR20230026398A (ko) 근안 디스플레이들에서의 눈 추적
KR20220030315A (ko) 사용자 인터페이스 디바이스들의 표현들을 이용한 뉴럴 네트워크 트레이닝
WO2016046514A1 (en) Holographic waveguide opticaltracker
US11435820B1 (en) Gaze detection pipeline in an artificial reality system
US20240210677A1 (en) Ultrafast illumination for structured light based eye tracking
US20240233372A9 (en) Enhanced pose determination for display device
US20240104958A1 (en) User Eye Model Match Detection
WO2024064376A1 (en) User eye model match detection

Legal Events

Date Code Title Description
A201 Request for examination