KR20190026762A - 3d 공간에서의 포즈 추정 - Google Patents

3d 공간에서의 포즈 추정 Download PDF

Info

Publication number
KR20190026762A
KR20190026762A KR1020197001409A KR20197001409A KR20190026762A KR 20190026762 A KR20190026762 A KR 20190026762A KR 1020197001409 A KR1020197001409 A KR 1020197001409A KR 20197001409 A KR20197001409 A KR 20197001409A KR 20190026762 A KR20190026762 A KR 20190026762A
Authority
KR
South Korea
Prior art keywords
spots
image
group
image segments
segments
Prior art date
Application number
KR1020197001409A
Other languages
English (en)
Other versions
KR102296267B1 (ko
Inventor
아드리안 켈러
개리 브래드스키
Original Assignee
매직 립, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 매직 립, 인코포레이티드 filed Critical 매직 립, 인코포레이티드
Priority to KR1020217027177A priority Critical patent/KR20210107185A/ko
Publication of KR20190026762A publication Critical patent/KR20190026762A/ko
Application granted granted Critical
Publication of KR102296267B1 publication Critical patent/KR102296267B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • G06K9/00671
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S3/00Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • G01S5/163Determination of attitude
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/398Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • H04N5/23229
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Electromagnetism (AREA)
  • Computing Systems (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Investigating Or Analysing Materials By Optical Means (AREA)
  • Image Processing (AREA)
  • Body Structure For Vehicles (AREA)

Abstract

3D 환경 내의 디바이스의 포지션을 추정하기 위한 방법들 및 디바이스들이 설명된다. 방법들의 실시예들은 환경의 일부를 포함하는 FOV(field of view)를 나타내는 이미지를 형성하는 다수의 이미지 세그먼트들을 순차적으로 수신하는 단계를 포함한다. 이미지는, 다수의 이미지 세그먼트들의 이미지 세그먼트들의 대응하는 서브세트에 부분적으로 기반하여 식별 가능한 다수의 희소점들을 포함한다. 방법은 또한, 다수의 희소점들 중 하나 또는 그 초과의 희소점들에 대응하는 이미지 세그먼트들의 각각의 서브세트가 수신될 때, 하나 또는 그 초과의 희소점들을 순차적으로 식별하는 단계 및 식별된 하나 또는 그 초과의 희소점들에 기반하여 환경 내의 디바이스의 포지션을 추정하는 단계를 포함한다.

Description

3D 공간에서의 포즈 추정
[0001] 본 출원은 "ESTIMATING POSE IN 3D SPACE"라는 명칭으로 2016년 6월 30일에 출원된 미국 가특허 출원 제62/357,285 호를 35 U.S.C.§ 119(e) 하에서 우선권으로 주장하고, 이로써 상기 출원의 내용들은 그 전체가 인용에 의해 본원에 통합된다.
[0002] 본 개시내용은 가상 현실 및 증강 현실 이미징 및 시각화 시스템들에 관한 것이며, 더 상세하게는, 3-차원(3D) 공간에서의 희소 포즈 추정(sparse pose estimation)에 관한 것이다.
[0003] 현대 컴퓨팅 및 디스플레이 기술들은 소위 "가상 현실" 또는 "증강 현실" 경험들을 위한 시스템들의 개발을 가능하게 하였고, 여기서 디지털적으로 재생된 이미지들 또는 이미지들의 부분들은, 그들이 실제인 것으로 보이거나, 실제로서 인식될 수 있는 방식으로 사용자에게 제시된다. 가상 현실 또는 "VR" 시나리오는 통상적으로 다른 실제 실세계 시각적 입력에 대한 투명성(transparency) 없는 디지털 또는 가상 이미지 정보의 프리젠테이션(presentation)을 수반하고; 증강 현실, 또는 "AR" 시나리오는 통상적으로 사용자 주위 실제 세계의 시각화에 대한 증강으로서 디지털 또는 가상 이미지 정보의 프리젠테이션을 수반한다. 예컨대, 도 1을 참조하여, 증강 현실 장면(scene)(1000)이 도시되는데, 여기서 AR 기술의 사용자는 배경 내의 사람들, 나무들, 빌딩들, 및 콘크리트 플랫폼(1120)을 특징으로 하는 실세계 공원형 설정(1100)을 본다. 이들 아이템들에 외에, AR 기술의 사용자는 또한, 그가 실세계 플랫폼(1120) 상에 서 있는 로봇 동상(1110), 및 호박벌의 의인화인 것으로 보여지는 날고 있는 만화형 아바타 캐릭터(1130)(비록 이들 엘리먼트들이 실세계에 존재하지 않더라도)를 "보는" 것을 인식한다. 밝혀진 바와 같이, 인간 시각 인식 시스템은 매우 복잡하고, 다른 가상 또는 실세계 이미저리(imagery) 엘리먼트들 사이에서 가상 이미지 엘리먼트들의 편안하고, 자연스럽고, 풍부한 프리젠테이션을 가능하게 하는 VR 또는 AR 기술을 만들어 내는 것은 난제이다. 본원에 개시된 시스템들 및 방법들은 VR 및 AR 기술에 관련된 다양한 난제들을 처리한다.
[0004] 본 개시내용의 일 양상은, 희소점들(sparse points)이 이미지 캡처 디바이스에 의해 이미지 프레임에서 캡처될 때 수행되는 희소 포즈 추정(sparse pose estimation)을 제공한다. 따라서, 전체 이미지 프레임이 캡처되기 전에, 희소 포즈 추정이 수행될 수 있다. 일부 실시예들에서, 희소 포즈 추정은, 이미지 프레임이 캡처될 때 개선되거나 업데이트될 수 있다.
[0005] 일부 실시예들에서, 환경 내의 이미지 캡처 디바이스의 포지션을 추정하기 위한 시스템들, 디바이스들 및 방법들이 개시된다. 일부 구현들에서, 방법은 제1 그룹의 다수의 이미지 세그먼트들을 순차적으로 수신하는 단계를 포함할 수 있다. 제1 그룹의 다수의 이미지 세그먼트들은, 이미지 캡처 디바이스를 둘러싸는 환경의 일부 및 다수의 희소점들을 포함할 수 있는, 이미지 캡처 디바이스의 전방으로부터의 FOV(field of view)를 나타내는 이미지의 적어도 일부를 형성할 수 있다. 각각의 희소점은 이미지 세그먼트들의 서브세트에 대응할 수 있다. 방법은 또한, 제1 그룹의 다수의 이미지 세그먼트들이 수신될 때 식별되는 하나 또는 그 초과의 희소점들을 포함하는 제1 그룹의 희소점들을 식별하는 단계를 포함할 수 있다. 이어서, 방법은, 포지션 추정 시스템에 의해, 제1 그룹의 희소점들에 기반하여 환경 내의 이미지 캡처 디바이스의 포지션을 결정하는 단계를 포함할 수 있다. 방법은 또한, 제1 그룹의 다수의 이미지 세그먼트들 이후에 수신될 수 있고, 이미지의 적어도 다른 부분을 형성할 수 있는 제2 그룹의 다수의 이미지 세그먼트들을 순차적으로 수신하는 단계를 포함할 수 있다. 이어서, 방법은, 제2 그룹의 다수의 이미지 세그먼트들이 수신될 때 식별되는 하나 또는 그 초과의 희소점들을 포함할 수 있는 제2 그룹의 희소점들을 식별하는 단계를 포함할 수 있다. 이어서, 방법은, 포지션 추정 시스템에 의해, 제1 및 제2 그룹의 희소점들에 기반하여 환경 내의 이미지 캡처 디바이스의 포지션을 업데이트할 수 있다.
[0006] 일부 실시예들에서, 환경 내의 이미지 캡처 디바이스의 포지션을 추정하기 위한 시스템들, 디바이스들 및 방법들이 개시된다. 일부 구현들에서, 방법은, 이미지 캡처 디바이스의 전방으로부터 FOV(field of view)를 나타내는 이미지를 형성할 수 있는 다수의 이미지 세그먼트들을 순차적으로 수신하는 단계를 포함할 수 있다. FOV는 이미지 캡처 디바이스를 둘러싸는 환경의 일부를 포함하고, 다수의 희소점들을 포함할 수 있다. 각각의 희소점은 다수의 이미지 세그먼트들의 이미지 세그먼트들의 대응하는 서브세트에 부분적으로 기반하여 식별 가능할 수 있다. 방법은 또한, 하나 또는 그 초과의 희소점들에 대응하는 이미지 세그먼트들의 각각의 서브세트가 수신될 때 다수의 희소점들의 하나 또는 그 초과의 희소점들을 순차적으로 식별하는 단계를 포함할 수 있다. 이어서, 방법은 식별된 하나 또는 그 초과의 희소점들에 기반하여 환경에서 이미지 캡처 디바이스의 포지션을 추정하는 단계를 포함할 수 있다.
[0007] 일부 실시예들에서, 환경 내의 이미지 캡처 디바이스의 포지션을 추정하기 위한 시스템들, 디바이스들 및 방법들이 개시된다. 일부 구현들에서, 이미지 캡처 디바이스는 이미지를 캡처하도록 구성된 이미지 센서를 포함할 수 있다. 이미지는, 이미지 캡처 디바이스의 FOV(field of view)를 나타내는 다수의 이미지 세그먼트들을 순차적으로 캡처하는 것을 통해 캡처될 수 있다. FOV는 이미지 캡처 디바이스를 둘러싸는 환경의 일부 및 복수의 희소점들을 포함할 수 있다. 각각의 희소점은 다수의 이미지 세그먼트들의 대응하는 서브세트에 부분적으로 기반하여 식별 가능할 수 있다. 이미지 캡처 디바이스는 또한 하나 또는 그 초과의 희소점들에 대응하는 이미지 세그먼트들의 서브세트를 저장하도록 구성된 메모리 회로 및 메모리 회로에 동작 가능하게 커플링된 컴퓨터 프로세서를 포함할 수 있다. 컴퓨터 프로세서는, 하나 또는 그 초과의 희소점들에 대응하는 이미지 세그먼트들의 각각의 서브세트가 이미지 캡처 디바이스에 의해 수신될 때, 다수의 희소점들 중 하나 또는 그 초과의 희소점들을 순차적으로 식별하도록 구성될 수 있다. 컴퓨터 프로세서는 또한, 식별된 하나 또는 그 초과의 희소점들에 기반하여 환경에서 이미지 캡처 디바이스의 포지션을 추정하기 위해 순차적으로 식별된 하나 또는 그 초과의 희소점들을 추출하도록 구성될 수 있다.
[0008] 일부 실시예들에서, 환경 내의 이미지 캡처 디바이스의 포지션을 추정하기 위한 시스템들, 디바이스들 및 방법들이 개시된다. 일부 구현들에서, 증강 현실 시스템이 개시된다. 증강 현실 시스템은 외향 이미징 디바이스, 컴퓨터 하드웨어, 및 컴퓨터 하드웨어 및 외향 이미징 디바이스에 동작 가능하게 커플링된 프로세서를 포함할 수 있다. 프로세서는 본원에 개시된 방법들의 적어도 일부를 수행하기 위한 명령들을 실행하도록 구성될 수 있다.
[0009] 일부 실시예들에서, 환경 내의 이미지 캡처 디바이스의 포지션을 추정하기 위한 시스템들, 디바이스들 및 방법들이 개시된다. 일부 구현들에서, 자율 엔티티가 개시된다. 자율 엔티티는 외향 이미징 디바이스, 컴퓨터 하드웨어, 및 컴퓨터 하드웨어 및 외향 이미징 디바이스에 동작 가능하게 커플링된 프로세서를 포함할 수 있다. 프로세서는 본원에 개시된 방법들의 적어도 일부를 수행하기 위한 명령들을 실행하도록 구성될 수 있다.
[0010] 일부 실시예들에서, 환경 내의 이미지 캡처 디바이스의 포지션을 추정하기 위한 시스템들, 디바이스들 및 방법들이 개시된다. 일부 구현들에서, 로봇 시스템이 개시된다. 로봇 시스템은 외향 이미징 디바이스, 컴퓨터 하드웨어, 및 컴퓨터 하드웨어 및 외향 이미징 디바이스에 동작 가능하게 커플링된 프로세서를 포함할 수 있다. 프로세서는 본원에 개시된 방법들의 적어도 일부를 수행하기 위한 명령들을 실행하도록 구성될 수 있다.
[0011] 첨부된 청구 범위 내의 방법들 및 장치의 다양한 구현들 각각은 몇몇의 양상들을 갖고, 몇몇의 양상들 중 단일 양상만이 본원에 설명된 바람직한 속성들을 단독으로 담당하지는 않는다. 첨부된 청구항들의 범위를 제한하지 않으면서, 몇몇 주요 특징들이 본원에 설명된다.
[0012] 본 명세서에 설명된 청구대상의 하나 또는 그 초과의 구현들의 세부사항들은 첨부한 도면들 및 아래의 설명에서 기재된다. 다른 특징들, 양상들 및 이점들은, 설명, 도면들 및 청구항들로부터 자명해질 것이다. 이러한 요약도 다음의 상세한 설명도 본 발명의 청구 대상의 범위를 정의하거나 제한하도록 의도하지 않는다.
[0013] 도 1은 사람이 보는 특정 가상 현실 객체들 및 특정 실제 현실 객체들을 갖는 증강 현실 시나리오의 예시를 도시한다.
[0014] 도 2는 웨어러블 디스플레이 시스템의 예를 개략적으로 예시한다.
[0015] 도 3은, 이미징 디바이스가 3D 공간(이 예에서 방)에서 이동할 때, 그의 복수의 포지션들의 예를 개략적으로 예시한다.
[0016] 도 4a 및 4b는 이미지 프레임에 대한 전단 효과(shearing effect)의 예를 개략적으로 예시한다.
[0017] 도 5a 및 5b는 다수의 희소점들에 대한 도 4a 및 4b의 전단 효과의 예를 개략적으로 예시한다.
[0018] 도 6은 예시적인 AR 아키텍처의 블록도이다.
[0019] 도 7은 포즈에 대한 예시적인 좌표계이다.
[0020] 도 8은 3D 공간에서 이미징 디바이스의 포즈를 결정하는 방법의 예의 프로세스 흐름도이다.
[0021] 도 9a 및 9b는 다수의 이미지 세그먼트들을 수신하는 것에 기반하여 이미지 프레임으로부터 하나 또는 그 초과의 희소점들을 추출하는 예를 개략적으로 예시한다.
[0022] 도 10은 3D 공간에서 이미징 디바이스의 포즈를 결정하는 방법의 다른 예에 대한 프로세스 흐름도이다.
[0023] 도면들 전반에 걸쳐, 참조 번호들은 참조된 엘리먼트들 사이의 대응을 표시하는 데 재사용될 수 있다. 제공된 도면들은 실척이 아니고, 본원에 설명된 예시적인 실시예들을 예시하기 위해 제공되고, 본 개시내용의 범위를 제한하도록 의도되지 않는다.
개관
[0024] 3차원(3D) 공간 내에서 움직이는 AR 디바이스들 또는 다른 디바이스들을 사용할 경우, 그 디바이스는 3D 공간을 통한 자신의 움직임을 추적하고, 3D 공간을 매핑할 필요가 있을 수 있다. 예컨대, AR 디바이스는 사용자의 움직임으로 인해 또는 사용자(예컨대, 로봇 또는 다른 자율 엔티티)와 독립적으로 3D 공간 주위에서 움직이게 될 수 있으며, 다른 가상 이미지 엘리먼트들 또는 실세계 이미지 엘리먼트들 중 가상 이미지 엘리먼트들의 디스플레이를 가능하게 하기 위해, 3D 공간을 매핑하고 후속 프로세싱을 위해 3D 공간 내에서 디바이스의 위치, 포지션 또는 배향 중 하나 또는 그 초과를 결정하는 것이 유리할 수 있다. 예컨대, 가상 및 실세계 이미지 엘리먼트들을 정확하게 제시하기 위해, 디바이스는, 자신이 어디에 위치되는지 및 실세계 내에서 어떤 배향인지를 알하고, 실세계 공간 내의 특정 배향으로 특정 위치에서 가상 이미지를 정확하게 렌더링할 필요가 있을 수 있다. 다른 실시예에서, 3D 공간을 통해 디바이스의 궤적으로 재생하는 것이 바람직할 수 있다. 따라서, 디바이스가 3D 공간 주위에서 움직일 때, 3D 공간 내의 디바이스의 포지션, 위치 또는 배향(이후에, 총괄적으로 "포즈"로 지칭됨)을 실시간으로 결정하는 것이 바람직할 수 있다. 일부 구현들에서, 3D 공간 내의 희소 포즈 추정은, 예컨대, AR 디바이스의 부분으로서 포함된 이미징 디바이스로부터의 이미지 프레임들의 연속 스트림으로부터 결정될 수 있다. 연속 스트림의 각각의 이미지 프레임은 프로세싱을 위해 그리고, 또한 희소 포즈 추정에 포함시키기 위해, 그로부터 디바이스의 포즈를 추정하기 위해 저장될 수 있다. 그러나, 이들 기술들은, 각각의 프레임 전체를 후속 프로세싱을 위해 메모리로 송신하는 것으로 인해, 포즈를 추정하는 데 지연을 야기할 수 있다.
[0025] 본 개시내용은 3D 공간 내의 디바이스(예컨대, AR 디바이스 또는 로봇과 같은 자율 디바이스)의 포즈를 추정하도록 구성된 예시적인 디바이스들 및 방법들을 제공한다. 일 예로서, 디바이스는, 다수의 이미지 프레임들을 수신하고, 디바이스가 3D 공간을 통해 움직일 때 각각의 이미지 프레임으로부터 디바이스의 포즈를 추정하는 것에 기반하여, 희소 포즈 추정을 수행할 수 있다. 각각의 이미지 프레임은 3D 공간 내의 디바이스의 포지션을 나타내는, 디바이스 전방의 3D 공간의 일부를 나타낼 수 있다. 일부 실시예들에서, 각각의 이미지 프레임은, 희소점들, 키포인트들, 포인트 클라우드들 또는 다른 타입들의 수학적 표현들에 의해 표현될 수 있는 특징들 또는 객체들 중 하나 또는 그 초과를 포함할 수 있다. 각각의 이미지 프레임에 대해, 이미지 프레임은, 결합될 때, 전체 이미지 프레임을 구성하는 다수의 이미지 세그먼트들을 순차적으로 수신함으로써 캡처될 수 있다. 이로부터, 디바이스는, 각각의 희소점을 포함하는 이미지 세그먼트들을 수신할 때, 이미지 프레임 내에서 희소점들을 식별하도록 구성될 수 있다. 디바이스는 하나 또는 그 초과의 희소점들을 포함하는 제1 그룹의 희소점들을 추출할 수 있다. 제1 그룹의 희소점들은 희소 포즈 추정 프로세스에 대한 적어도 하나의 입력일 수 있다. 후속으로, 디바이스는 제2 그룹의 희소점들을 식별 및 추출하고, 제2 그룹에 기반하여 희소 포즈 추정을 업데이트할 수 있다. 하나의 예시적인 구현에서, 제1 그룹의 희소점들은, 후속 희소점들(예컨대, 제2 그룹의 희소점들)을 식별하기 전에, 디바이스의 포즈를 추정하는 데 활용될 수 있다. 후속 희소점들이 식별될 때, 후속 희소점들은 희소 포즈 추정을 업데이트하는 데 사용하기 위해 이용 가능하게 될 수 있다.
[0026] 방법들, 디바이스들 및 시스템들의 실시예들이 AR 디바이스를 참조하여 본원에 설명되지만, 이는 본 개시내용의 범위를 제한하도록 의도되지 않는다. 본원에 설명된 방법들 및 디바이스들은 AR 디바이스 또는 머리 장착 디바이스에 제한되지 않으며; 다른 디바이스들(예컨대, 모바일 로봇, 디지털 카메라, 자율 엔티티들 등)도 가능하다. 적용 가능한 디바이스들은, 3D 공간을 통해, 독립적으로 또는 사용자 개입에 의해, 움직일 수 있는 그러한 디바이스를 포함하지만 이에 한정되지는 않는다. 예컨대, 본원에 설명된 방법들은 객체에 대해 원격인 카메라들에 의해 추적되는 3D 공간 주위에서 움직이는 객체에 적용될 수 있다. 일부 실시예들에서, 프로세싱은 또한 객체에 대해 원격으로 수행될 수 있다.
3D 공간에서 움직이기 위한 예시적인 AR 디바이스
[0027] 3D 디스플레이가 다른 가상 또는 실세계 이미지 엘리먼트들 중에서 가상 이미지 엘리먼트들의 편안하고, 자연스러운 느낌의, 풍부한 프리젠테이션을 가능하게 하기 위해, 디스플레이를 둘러싸는 실세계를 매핑하고, 3D 공간을 통한 디스플레이의 궤적을 재생하는 것이 바람직하다. 예컨대, 희소 포즈 추정 프로세스가 3D 공간의 맵을 결정하기 위해 수행될 수 있다. 희소 포즈 추정이 최소의 지연으로 실시간으로 수행되지 않으면, 사용자는 불안정한 이미징, 유해한 눈의 피로감, 두통들 및 일반적으로 불만족스러운 VR 및 AR 시청 경험을 경험할 수 있다. 따라서, 본원에 설명된 다양한 실시예들은 AR 디바이스의 포지션, 위치 또는 배향 중 하나 또는 그 초과를 결정 또는 추정하도록 구성된다.
[0028] 도 2는 웨어러블 디스플레이 시스템(100)의 예를 예시한다. 디스플레이 시스템(100)은 디스플레이(62), 및 디스플레이(62)의 기능을 지원하기 위한 다양한 기계 및 전자 모듈들 및 시스템들을 포함한다. 디스플레이(62)는, 디스플레이 시스템 사용자, 착용자 또는 뷰어(60)가 착용할 수 있고, 뷰어(60)의 눈 앞에 디스플레이(62)를 위치시키도록 구성된 프레임(64)에 커플링될 수 있다. 디스플레이 시스템(100)은, 착용자의 머리에 착용되는 HMD(head mounted display)를 포함할 수 있다. ARD(augmented reality display)는 웨어러블 디스플레이 시스템(100)을 포함할 수 있다. 일부 실시예들에서, 스피커(66)는 프레임(64)에 커플링되고 사용자의 외이도(ear canal)에 인접하게 위치된다(일부 실시예들에서는, 도시되지 않은 다른 스피커가 스테레오/구체화 가능한 사운드 제어(stereo/shapeable sound control)를 제공하기 위해 사용자의 다른 외이도에 인접하게 위치될 수 있음). 디스플레이 시스템(100)은 착용자 주위의 환경(예컨대, 3D 공간)에서 세계를 관측하는 하나 또는 그 초과의 외향 이미징 시스템들(110)을 포함할 수 있다. 디스플레이(62)는 통신 링크(68)에 의해, 이를테면, 유선 리드 또는 무선 연결에 의해, 로컬 프로세싱 및 데이터 모듈(70)에 동작 가능하게 커플링될 수 있고, 로컬 프로세싱 및 데이터 모듈(70)은 다양한 구성들로 장착될 수 있는데, 이를테면, 프레임(64)에 고정적으로 부착되거나, 사용자가 착용한 헬멧 또는 모자에 고정적으로 부착되거나, 헤드폰들에 임베딩되거나, 그렇지 않다면 (예컨대, 백팩-스타일 구성으로, 벨트-커플링 스타일 구성으로) 사용자(60)에 착탈 가능하게 부착된다.
[0029] 디스플레이 시스템(100)은 프레임(64) 상에 배치된 하나 또는 그 초과의 외향 이미징 시스템들(110a 또는 110b)(이후에 개별적으로 또는 총괄적으로 "110"로 지칭됨)을 포함할 수 있다. 일부 실시예들에서, 외향 이미징 시스템(110a)은 사용자의 눈들 사이의 프레임(64)의 대략 중앙 부분에 배치될 수 있다. 다른 실시예에서, 대안적으로 또는 조합하여, 외향 이미징 시스템(110b)은 사용자의 한쪽 또는 양쪽 눈들에 인접한 프레임의 하나 또는 그 초과의 측면들 상에 배치될 수 있다. 예컨대, 외향 이미징 시스템(110b)은 양쪽 눈들에 인접한 사용자의 좌측 및 우측 둘 모두 상에 위치될 수 있다. 외향 카메라(110)의 예시적인 어레인지먼트들이 위에 제공되지만, 다른 구성들이 가능하다. 예컨대, 외향 이미징 시스템(110)은 디스플레이 시스템(100)에 대해 임의의 배향 또는 포지션에 위치될 수 있다.
[0030] 일부 실시예들에서, 외향 이미징 시스템(110)은 디스플레이 시스템(100)의 전방에서 세계의 일부의 이미지를 캡처한다. 뷰어에 의한 뷰잉 또는 이미징에 이용가능한 전체 영역은 FOR(field of regard)로 지칭될 수 있다. 일부 구현들에서, 디스플레이가 디스플레이 주위에서(착용자의 전방, 후방, 위, 아래 또는 측면들에서) 객체들을 이미징하기 위해 환경 주위에서 움직이게 될 수 있기 때문에, FOR은 디스플레이 시스템(100) 주위의 실질적으로 모든 입체각(solid angle)을 포함할 수 있다. 디스플레이 시스템 전방의 FOR의 부분은 FOV(field of view)로 지칭될 수 있고, 외향 이미징 시스템(110)은 때때로 FOV 카메라로 지칭된다. 외향 이미징 시스템(110)으로부터 획득된 이미지들은 환경의 희소점들을 식별하고, 희소 포즈 추정 프로세스에서 사용하기 위해 포즈를 추정하는 것 등에 사용될 수 있다.
[0031] 일부 구현들에서, 외향 이미징 시스템(110)은 광학 렌즈 시스템 및 이미지 센서를 포함하는 디지털 카메라로서 구성될 수 있다. 예컨대, 디스플레이(62) 전방의 세계로부터의(예컨대, FOV 로부터의) 광은 외향 이미징 시스템(110)의 렌즈에 의해 이미지 센서 상에 포커싱될 수 있다. 일부 실시예들에서, 외향 이미징 시스템(100)은 적외선(IR) 스펙트럼, 가시광 스펙트럼, 또는 임의의 다른 적합한 파장 범위 또는 전자기 복사(electromagnetic radiation)의 파장들의 범위에서 동작하도록 구성될 수 있다. 일부 실시예들에서, 이미징 센서는 CMOS(complementary metal-oxide semiconductor) 또는 CCD(charged-coupled device) 센서로 구성될 수 있다. 일부 실시예들에서, 이미지 센서는 IR 스펙트럼, 가시광 스펙트럼, 또는 임의의 다른 적합한 파장 범위 또는 전자기 복사의 파장들의 범위의 광을 검출하도록 구성될 수 있다. 일부 실시예들에서, 디지털 카메라의 프레임 레이트는, 이미지 데이터가 디지털 카메라로부터 메모리 또는 저장 유닛(예컨대, 로컬 프로세싱 및 데이터 모듈(70))으로 송신될 수 있는 레이트에 관련될 수 있다. 예컨대, 디지털 카메라의 프레임 레이트가 30 헤르츠이면, 이미지 센서의 픽셀들에 의해 캡처된 데이터는 30 밀리초마다 메모리에 입력(예컨대, 클록 오프)될 수 있다. 따라서, 디지털 카메라의 프레임 레이트는 이미지 데이터의 저장 및 후속 프로세싱에 지연을 부여할 수 있다.
[0032] 일부 실시예들에서, 외향 이미징 시스템(110)이 디지털 카메라인 경우, 외향 이미징 시스템(110)은 글로벌 셔터 카메라 또는 롤링 셔터(rolling shutter)(예컨대, 또한 프로그레시브 스캔 카메라(progressive scan camera)로 지칭됨)로서 구성될 수 있다. 예컨대, 외향 이미징 시스템(110)이 글로벌 셔터 카메라인 경우, 이미지 센서는 단일 동작으로 디스플레이(62) 전방의 FOV를 나타내는 전체 이미지 프레임을 캡처하도록 구성된 CCD 센서일 수 있다. 이어서, 전체 이미지 프레임은 프로세싱, 예컨대, 본원에 설명된 바와 같이 희소 포즈 추정을 수행하기 위해 로컬 프로세싱 및 데이터 모듈(70)에 입력될 수 있다. 따라서, 일부 실시예들에서, 전체 이미지 프레임을 활용하는 것은, 위에 설명된 바와 같이, 예컨대, 프레임 레이트로 인한 지연을 포즈 추정에 부여하고, 이미지의 저장에 지연을 부여할 수 있다. 예컨대, 30 헤르츠의 프레임 레이트를 갖는 글로벌 셔터 디지털 카메라는, 임의의 포즈 추정이 수행될 수 있기 전에, 30 밀리초의 지연을 부여할 수 있다.
[0033] 다른 실시예들에서, 외향 이미징 시스템(110)이 롤링 셔터 카메라로서 구성되는 경우, 이미지 센서는 복수의 이미지 세그먼트들을 순차적으로 캡처하고, 캡처된 이미지 세그먼트들의 이미지 데이터를 송신하기 위해 장면에 걸쳐 스캔하도록 구성되는 CMOS 센서일 수 있다. 이미지 세그먼트들은, 캡처된 순서로 결합될 때, 외향 이미징 시스템(110)의 FOV의 이미지 프레임을 구성한다. 일부 실시예들에서, 스캔 방향은 수평적일 수 있으며, 예컨대, 외향 이미징 시스템(110)은 좌측 또는 우측 방향에서 수평적으로 인접한 복수의 수직 이미지 세그먼트들을 캡처할 수 있다. 다른 실시예에서, 스캔 방향은 수직적일 수 있으며, 예컨대, 외향 이미징 시스템(110)은 상향 또는 하향 방향에서 수직적으로 인접한 복수의 수평 이미지 세그먼트들을 캡처할 수 있다. 개개의 이미지 세그먼트가 이미지 센서에서 캡처될 때, 각각의 이미지 세그먼트는 로컬 프로세싱 및 데이터 모듈(70)에 순차적으로 입력될 수 있다. 따라서, 일부 실시예들에서, 위에 설명된 바와 같이, 디지털 카메라의 프레임 레이트로 인한 지연은, 이미지 세그먼트들이 디지털 카메라에 의해 캡처될 때, 이미지 세그먼트들을 순차적으로 송신함으로써 감소되거나 최소화될 수 있다.
[0034] 로컬 프로세싱 및 데이터 모듈(70)은 비-휘발성 메모리(예컨대, 플래시 메모리)와 같은 디지털 메모리뿐만 아니라 하나 또는 그 초과의 하드웨어 프로세서들을 포함할 수 있으며, 이들 둘 모두는 데이터의 프로세싱, 버퍼링, 캐싱 및 저장을 돕기 위해 활용될 수 있다. 데이터는 a) 센서들(예컨대, 프레임(64)에 동작 가능하게 커플링되거나 그렇지 않으면 사용자(60)에 부착될 수 있음), 이를테면, 이미지 캡처 디바이스들(예컨대, 외향 이미징 시스템(110)), 마이크로폰들, IMU(inertial measurement unit)들, 가속도계들, 나침반들, GPS(global positioning system) 유닛들, 라디오 디바이스들 및/또는 자이로스코프들로부터 캡처되고 그리고/또는 b) 그러한 프로세싱 또는 리트리벌(retrieval) 후에 가능하게는 디스플레이(62)로의 전달을 위해, 원격 프로세싱 모듈(72) 및/또는 원격 데이터 저장소(74)를 사용하여 포착 및/또는 프로세싱되는 데이터를 포함할 수 있다. 로컬 프로세싱 및 데이터 모듈(70)은 통신 링크(76 및/또는 78)에 의해, 이를테면, 유선 또는 무선 통신 링크들을 통해 원격 프로세싱 모듈(72) 및/또는 원격 데이터 저장소(74)에 동작 가능하게 커플링될 수 있어, 이러한 원격 모듈들은 리소스들로서 로컬 프로세싱 및 데이터 모듈(71)에 대해 이용가능하다. 또한, 원격 프로세싱 모듈(72) 및 원격 데이터 저장소(74)는 서로 동작 가능하게 커플링될 수 있다. 일부 실시예들에서, 로컬 프로세싱 및 데이터 모듈(70)은 이미지 캡처 디바이스들, 마이크로폰들, 관성 측정 유닛들, 가속도계들, 컴파스들, GPS 유닛들, 라디오 디바이스들 및/또는 자이로들 중 하나 또는 그 초과에 동작 가능하게 연결될 수 있다. 일부 다른 실시예들에서, 이들 센서들 중 하나 또는 그 초과는 프레임(64)에 부착될 수 있거나, 유선 또는 무선 통신 경로들에 의해 로컬 프로세싱 및 데이터 모듈(70)과 통신하는 독립형 구조들일 수 있다.
[0035] 일부 실시예들에서, 로컬 프로세싱 및 데이터 모듈(70)의 디지털 메모리 또는 그의 일부는 일시적인 시간 기간 동안 (예컨대, 비-일시적인 버퍼 저장소로서) 데이터의 하나 또는 그 초과의 엘리먼트들을 저장하도록 구성될 수 있다. 예컨대, 디지털 메모리는 데이터의 일부 또는 전부를 수신하고, 로컬 프로세싱 및 데이터 모듈(70)의 프로세스들 간에 데이터가 이동되는 동안, 단기간의 시간 기간 동안 데이터 중 일부 또는 전부를 저장하도록 구성될 수 있다. 일부 구현들에서, 디지털 메모리의 일부는, 외향 이미징 시스템(110)으로부터 하나 또는 그 초과의 이미지 세그먼트들을 순차적으로 수신하는 버퍼로서 구성될 수 있다. 따라서, 버퍼는, 영구적인 저장 또는 후속 프로세싱을 위해, 이미지 세그먼트들이 로컬 프로세싱 및 데이터 모듈(70)(또는 원격 데이터 저장소(74))로 송신되기 전에 (도 9a 및 9b를 참조하여 아래에 설명되는 바와 같이) 설정된 수의 이미지 세그먼트들을 저장하도록 구성된 비-일시적인 데이터 버퍼일 수 있다.
[0036] 일부 실시예들에서, 원격 프로세싱 모듈(72)은, 데이터 및/또는 이미지 정보를 분석 및 프로세싱하도록 구성된 하나 또는 그 초과의 하드웨어 프로세서들을 포함할 수 있다. 일부 실시예들에서, 원격 데이터 저장소(74)는, "클라우드" 리소스 구성에서 인터넷 또는 다른 네트워킹 구성을 통해 이용 가능할 수 있는 디지털 데이터 저장 설비를 포함할 수 있다. 일부 실시예들에서, 원격 데이터 저장소(74)는, 정보, 예컨대, 증강 현실 콘텐츠를 생성하기 위한 정보를 로컬 프로세싱 및 데이터 모듈(70) 및/또는 원격 프로세싱 모듈(72)에 제공하는 하나 또는 그 초과의 원격 서버들을 포함할 수 있다. 일부 실시예들에서, 모든 데이터가 저장되고 모든 계산들이 로컬 프로세싱 및 데이터 모듈(70)에서 수행되어, 원격 모듈로부터 완전히 자율적인 사용을 허용한다.
[0037] 예시적인 AR 디바이스가 본원에서 설명되지만, 본원에 개시된 방법들 및 디바이스들이 AR 디바이스들 또는 머리 장착 디바이스들에 제한되지 않는다는 것이 이해될 것이다. 다른 구성들, 예컨대, 모바일 로봇, 디지털 카메라, 자율 엔티티들 등이 가능하다. 적용 가능한 디바이스들은 3D 공간을 통해, 독립적으로 또는 사용자 개입에 의해, 움직일 수 있는 이러한 디바이스들을 포함하지만, 이에 제한되지 않는다.
3D 공간을 통한 AR 디바이스의 예시적인 궤적
[0038] 도 3은, 이미징 디바이스(310)가 3D 공간(300)을 통해 움직일 때 이미징 디바이스(310)를 개략적으로 예시한다. 예컨대, 도 3은, 이미징 디바이스(310)가 궤적(311)을 개략적으로 나타내는 점선을 따라 움직일 때, 환경(300) 내의 다수의 포지션들(312)(예컨대, 312a, 312b, 312c 및 312d) 및 배향들에서의 이미징 디바이스(310)를 도시한다. 각각의 포지션(312)에서, 이미징 디바이스(310)는, 예컨대, 희소 포즈 추정을 수행하기 위해 이미지 프레임들의 연속 스트림으로서 사용될 수 있는 특정 위치 및 배향의 환경(300)의 이미지 프레임을 캡처하도록 구성될 수 있다. 궤적(311)은 환경(300)을 통한 움직임의 임의의 궤적 또는 경로일 수 있다. 도 3이 4개의 포지션들(312)을 예시하지만, 포지션들의 수는 다를 수 있다. 예컨대, 포지션들(312)의 수는, 허용 가능한 레벨의 확실성으로 희소 포즈 추정을 수행하기 위해 요구된 만큼 많거나(예컨대, 5, 6, 7개 등), 2개의 포지션들만큼 적을 수 있다. 일부 실시예들에서, 이미징 디바이스(312)는, 예컨대, 비디오에서와 같이, 일련의 이미지 프레임들을 캡처하도록 구성될 수 있으며, 여기에서 비디오의 각각의 이미지 프레임은 본원에 설명된 컴퓨터 비전 기술을 통해 희소 포즈 추정을 수행하는 데 활용될 수 있다.
[0039] 일부 실시예들에서, 이미징 디바이스(310)는 외향 이미징 시스템(110)을 포함하는 도 1의 디스플레이 시스템(100), 이미징 시스템을 포함하는 모바일 로봇, 또는 독립적인 이미징 디바이스로서 구성될 수 있다. 이미징 디바이스(310)는, 자신이 환경(300)을 통해 움직일 때, 이미징 디바이스(310)의 전방으로부터 환경(300)의 일부를 도시하는 각각의 포지션(312)에서 이미지 프레임들을 캡처하도록 구성될 수 있다. 위에 설명된 바와 같이, 각각의 포지션(312) 및 배향에서 이미징 디바이스에 의해 캡처된 환경(300)의 부분은 이미징 디바이스(310)의 전방으로부터의 FOV일 수 있다. 예컨대, 포지션(312a)의 FOV는 FOV(315a)로서 개략적으로 예시된다. 이미징 디바이스(310)의 각각의 후속 포지션 및 배향(예컨대, 312b, 312c 및 312d)은 대응하는 FOV(315)(예컨대, FOV(315b, 315c 및 315d))를 포함한다. 컴퓨터 비전 기술들은, 각각의 포지션(312)에서 이미징 디바이스(310)의 포즈를 추정하기 위해 이미징 디바이스(310)로부터 획득된 각각의 이미지 프레임에 대해 수행될 수 있다. 포즈 추정은, 예컨대, 환경(300)의 맵(또는 그의 부분들)을 결정 또는 생성하고, 환경(300)을 통한 이미징 디바이스(310)의 움직임을 추적하기 위해 사용되는 희소점 추정 프로세스에 대한 입력일 수 있다.
[0040] 환경(300)은 임의의 3D 공간, 예컨대, (도 3에 예시된 바와 같은) 사무실, 거실, 옥외 공간 등일 수 있다. 환경(300)은 환경(300) 전체에 걸쳐 배치된 복수의 객체들(325)(예컨대, 가구, 개인 용품들, 주위 구조들, 텍스처들, 검출 가능한 패턴들 등)을 포함할 수 있다. 객체들(325)은 환경 내의 다른 특징들과 비교하여 고유하게 식별 가능한 개별 객체들일 수 있다(예컨대, 각각의 벽은 고유하게 식별 가능하지 않을 수 있음). 또한, 객체들(325)은 둘 또는 그 초과의 이미지 프레임들에서 캡처된 공통 특징들일 수 있다. 예컨대, 도 3은 대응하는 시선(330a-d)(예시 목적들로, 점선으로 도시됨)을 따라 각각의 포지션(312)에서 이미징 디바이스(310)의 FOV(315) 각각에 위치된 객체(325a)(이 예에서는 램프)를 예시한다. 따라서, 각각의 포지션(312)(예컨대, 312a)에 대해, 각각의 FOV(315)(예컨대, 315a)를 나타내는 이미지 프레임은 시선(330)(예컨대, 330a)을 따라 이미징되는 객체(325a)를 포함한다.
[0041] 이미징 디바이스(310)는, FOV(315)를 나타내는 각각의 이미지 프레임으로부터, 복수의 희소점들(320)을 검출 및 추출하도록 구성될 수 있고, 각각의 희소점(320)(또는 다수의 희소점들)은 객체(325), 또는 객체(325)의 부분, 텍스처, 또는 패턴에 대응한다. 예컨대, 이미징 디바이스(310)는 객체(325a)에 대응하는 희소점(320a)을 추출할 수 있다. 일부 실시예들에서, 객체(325A)는 하나 또는 그 초과의 희소점들(320)과 연관될 수 있고, 여기서 각각의 희소점(320)은 객체(325)의 상이한 부분(예컨대, 램프의 코너, 최상부, 최하부, 측면 등)과 연관될 수 있다. 따라서, 각각의 희소점(320)은 이미지 프레임 내에서 고유하게 식별 가능할 수 있다. 컴퓨터 비전 기술들은 (예컨대, 도 9a 및 9b와 관련하여 설명된 바와 같이) 각각의 희소점(320)에 대응하는 이미지 프레임 또는 이미지 세그먼트들로부터 각각의 희소점(320)을 추출하고 식별하는 데 사용될 수 있다.
[0042] 일부 실시예들에서, 희소점들(320)은 환경(300) 내에 이미징 디바이스(310)의 포지션, 위치 또는 배향을 추정하기 위해 활용될 수 있다. 예컨대, 이미징 디바이스(310)는 희소 포즈 추정 프로세스로의 입력들로서 복수의 희소점들(320)을 추출하도록 구성될 수 있다. 희소 포즈 추정을 위해 사용되는 예시적인 컴퓨터 비전 기술은, SLAM(simultaneous localization and mapping) 또는 V-SLAM(입력이 이미지/시각 전용인 구성을 나타냄) 프로세스 또는 알고리즘일 수 있다. 이러한 예시적인 컴퓨터 비전 기술들은, 아래에 더 상세하게 설명되는 바와 같이, 이미징 디바이스(310)를 둘러싸는 세계의 희소점 프리젠테이션을 출력하는 데 사용될 수 있다. 포지션들(312)의 다수의 이미지 프레임들을 사용하는 종래의 희소 포즈 추정 시스템에서, 각각의 이미지 프레임으로부터 희소점들(320)이 수집될 수 있고, 연속 이미지 프레임들(예컨대, 포지션(312a 내지 312b)) 사이에서 대응들이 컴퓨팅되고, 포즈 변화들은 발견된 대응들에 기반하여 추정된다. 따라서, 일부 실시예들에서, 이미징 디바이스(310)의 포지션, 배향, 또는 포지션 및 배향 둘 모두가 결정될 수 있다. 일부 구현들에서, 희소점의 위치들의 3D 맵은 추정 프로세스를 위해 요구될 수 있거나, 이미지 프레임 또는 다수의 이미지 프레임들에서 희소점들을 식별하는 것의 부산물(byproduct)일 수 있다. 일부 실시예들에서, 희소점들(320)은, 희소점들(320)의 디지털 프리젠테이션들로 구성될 수 있는 하나 또는 그 초과의 디스크립터들과 연관될 수 있다. 일부 실시예들에서, 디스크립터들은 연속 이미지 프레임들 간의 대응의 컴퓨테이션을 가능하게 하도록 구성될 수 있다. 일부 실시예들에서, 포즈 결정은 이미징 디바이스에 탑재된 프로세서(예컨대, 로컬 프로세싱 및 데이터 모듈(70)) 또는 이미징 디바이스에 대해 원격인 프로세서(예컨대, 원격 프로세싱 모듈(72))에 의해 수행될 수 있다.
[0043] 일부 실시예들에서, 예컨대, 로컬 프로세싱 및 데이터 모듈(70) 또는 원격 프로세싱 모듈 및 데이터 저장소(72, 74)의 부분으로서, 이미징 디바이스(310)와 동작 가능하게 통신하는 컴퓨터 비전 모듈이 포함될 수 있다. 예시적인 컴퓨터 비전 모듈들은 하나 또는 그 초과의 컴퓨터 비전 기술들을 구현할 수 있으며, 예컨대, 도 8 및 10의 방법들(800, 1000)을 참조하여 설명된 바와 같이, 예컨대, 희소점들을 식별하고, 포즈를 결정하는 것 등을 위해 외향 이미징 카메라들에 의해 획득된 이미지 세그먼트들을 분석하는 데 사용될 수 있다. 컴퓨터 비전 모듈은 도 3과 관련하여 설명된 것과 같은 이미징 디바이스(310)를 둘러싸는 환경에서 객체들을 식별할 수 있다. 컴퓨터 비전 모듈은 이미지 프레임에서 희소점들을 추출하고, 이미징 디바이스가 환경에서 움직일 때, 다양한 이미지 프레임들을 통해 객체를 추적하고 식별하기 위해, 추출된 희소점들을 사용할 수 있다. 예컨대, 제1 이미지 프레임의 희소점들은, 이미징 디바이스의 움직임을 추적하기 위해 제2 이미지 프레임의 희소점들과 비교될 수 있다. 일부 실시예들에서, 제2 이미지 프레임의 하나 또는 그 초과의 희소점들은, 예컨대, 제1 이미지 프레임과 제2 이미지 프레임 간의 추적을 위한 기준점으로서, 제1 이미지 프레임의 희소점들 중 하나 또는 그 초과를 포함할 수 있다. 제3, 제4, 제5 등의 이미지 프레임들은 유사하게 사용되고, 이전 및 후속 이미지 프레임들과 비교될 수 있다. 컴퓨터 비전 모듈은, 식별된 희소점들에 기반으로 환경 내의 이미징 디바이스의 포지션 또는 배향을 추정하기 위해, 희소점들을 프로세싱할 수 있다. 컴퓨터 비전 기술들의 비-제한적인 예들은 SIFT(Scale-invariant feature transform), SURF(speeded up robust features), ORB(oriented FAST and rotated BRIEF), BRISK(binary robust invariant scalable keypoints), FREAK(fast retina keypoint), Viola-Jones 알고리즘, Eigenfaces 접근법, Lucas-Kanade 알고리즘, Horn-Schunk 알고리즘, Mean-shift 알고리즘, v-SLAM(visual simultaneous location and mapping) 기술들, 순차적인 베이지안 추정기(예컨대, Kalman 필터, 확장된 Kalman 필터 등), 번들 조정, 적응형 경계화(thresholding)(및 다른 경계화 기술들), ICP(Iterative Closest Point), SGM(Semi Global Matching), SGBM(Semi Global Block Matching), 특징점 히스토그램들, 다양한 기계 학습 알고리즘들(이를테면, 예컨대, 지원 벡터 기계, k-최근접 이웃 알고리즘(nearest neighbors algorithm), 나이브 베이즈(Naive Bayes), 신경 네트워크(콘볼루션 또는 심층 신경 네트워크들을 포함함), 또는 다른 감독/감독되지 않은 모델들 등) 등을 포함할 수 있다.
[0044] 위에 설명된 바와 같이, 현재 포즈 추정 프로세스들은 이미징 디바이스의 포즈를 추정하는 데 있어 지연을 포함할 수 있다. 예컨대, 이미징 디바이스의 프레임 레이트는, 부분적으로, 이미징 디바이스로부터 메모리로 전체 이미지 프레임을 송신하는 것으로 인해, 지연을 발생시킬 수 있다. 어떠한 특정 과학적 이론에도 동의하지 않고서, 전체 이미지 프레임이 이미징 디바이스로부터의 메모리에 입력될 때까지, 희소점들이 이미지 프레임에서 추출되지 않기 때문에, 희소 포즈 추정이 지연될 수 있다. 따라서, 이미징 디바이스의 프레임 레이트 성능들에 부분적으로 기반한 전체 이미지 프레임의 송신은 희소 포즈 추정에서 경험되는 지연의 하나의 컴포넌트일 수 있다. 본원에 기술된 시스템들 및 디바이스들 중 일부의 하나의 비-제한적인 이점은, 포즈를 추정하기 위한 희소점들의 추출 또는 식별이, 이미지 프레임의 부분들이 이미지 센서 또는 메모리에 입력될 때 즉시(on the fly) 수행될 수 있다는 것이고, 따라서 포즈는, 그렇지 않다면 전체 이미지 프레임을 사용할 때 가능했을 것보다 조기의 시점에서 추정될 수 있다. 또한, 프레임의 일부만이 키포인트들에 대해 분석될 수 있기 때문에, 프로세싱 속도 및 효율이 증가될 수 있다.
[0045] 앞서 설명된 설명은 환경(300) 내의 물리적 객체들의 맥락에서 희소점들(320)을 설명하지만, 이는 제한하려는 것이 아니며, 다른 구현들이 가능하다. 일부 실시예들에서, 객체들(325)은 환경의 임의의 특징(예컨대, 실세계 객체들, 가상 객체들, 비-가시적 객체들 또는 특징들 등)을 나타낼 수 있다. 예컨대, 투영 디바이스는, 가시적 또는 비-가시적일 수 있는 (예컨대, IR 스펙트럼, 근적외선(near-IR) 스펙트럼, 자외선 스펙트럼으로, 또는 임의의 다른 적합한 파장 범위 또는 전자기 복사의 파장들의 범위에서 투영되는) 환경을 통해 복수의 표시자들, 텍스처들, 식별자들 등을 투영하도록 구성될 수 있다. 표시자들, 텍스처들, 식별자들 등은 이미징 디바이스(310)에 의해 검출 가능한 구별적인 특징 또는 형상일 수 있다. 이미징 디바이스(310)는 이들 표시자들을 검출하고, 복수의 표시자들로부터 희소점들(320)을 추출하도록 구성될 수 있다. 예컨대, 표시자는 전자기 복사의 IR 스펙트럼으로 환경의 벽 상에 투영될 수 있고, 이미징 디바이스(310)는 표시자를 식별하고 그로부터 희소점들을 추출하기 위해 IR 스펙트럼에서 동작하도록 구성될 수 있다. 다른 실시예에서, 대안적으로 또는 조합하여, 이미징 디바이스(310)는, 가상 이미지 엘리먼트를 (예컨대, 디스플레이(62) 상에) 디스플레이하도록 구성된 AR 디바이스에 포함될 수 있다. 이미징 디바이스 또는 AR 디바이스는 가상 이미지 엘리먼트를 식별하고, 그로부터 희소점들(320)을 추출하도록 구성될 수 있다. AR 디바이스는 이러한 희소점들(320)을 사용하여 가상 이미지 엘리먼트들에 대한 AR 디바이스의 포즈를 결정하도록 구성될 수 있다.
예시적인 이미지 프레임 및 희소점들에 부여된 전단 효과의 예
[0046] 위에 설명된 바와 같이, 외향 이미징 시스템(110)은 롤링 셔터 카메라로 구현될 수 있다. 롤링 셔터 카메라의 하나의 비-제한적인 이점은, 다른 부분들을 캡처하면서 캡처된 장면(예컨대, 이미지 세그먼트들)의 부분들을 송신하는 능력이다(예컨대, 이미지 프레임의 모든 부분들이 정확히 동일한 시간에 캡처되는 것은 아니다). 그러나, 이는, 이미징 디바이스가 이미지를 캡처하는 전체 시간 동안 객체에 대해 동일한 포지션에 있지 않을 수 있기 때문에, 이미지 프레임이 캡처되는 동안 카메라에 대해 움직이는 객체들의 왜곡들을 초래할 수 있다.
[0047] 예컨대, 도 4a 및 4b는 장면의 이미지에 적용되는 롤링 셔터 효과(예컨대, 때때로 본원에서 "전단", "시프팅" 또는 "왜곡"으로 지칭됨)의 개략도들이다. 도 4a는 객체(425a)(예컨대, 이 예에서는 정사각형)를 포함하는 장면(400a)을 개략적으로 예시한다. 장면은 이미지 캡처 디바이스(예컨대, 도 2의 외향 이미징 시스템(110))의 FOV일 수 있다. 도 4a에 예시된 실시예에서, 장면은 방향(430)으로 이미지 캡처 디바이스에 대해 움직이고 있을 수 있다. 도 4b는 메모리 또는 저장 유닛(예컨대, 로컬 프로세싱 및 데이터 모듈(70))에 저장될 수 있는 캡처된 장면(400a)의 결과 이미지(400b)를 예시한다. 도 4b에 예시된 바와 같이, 객체(425a)의 상대적인 움직임으로 인해, 결과적인 이미지(400b)는 왜곡된 객체(425b)(예컨대, 전단된 정사각형 또는 마름모로 도시됨)이고, 여기서 왜곡된 객체의 점선들은 결과적인 이미지(400b)에서 캡처되지 않는다. 특정 과학적 이론에 동의하지 않고서, 이는 이미징 디바이스의 프로그레시브 하향 스캔 방향으로 인한 것일 수 있고, 따라서 객체의 최상부가 먼저 캡처되고, 객체의 최하부보다 덜 왜곡된다.
[0048] 도 5a 및 5b는 이미징 디바이스에 의해 캡처된 FOV(예컨대, 도 3의 FOV(315a, 315b, 315c 또는 315d))에 포함된 복수의 희소점들에 부여된 롤링 셔터 효과의 개략도들이다. 예컨대, AR 디바이스가 3D 공간 주위에서 움직일 때, 다양한 희소점들은 AR 디바이스에 대해 움직이고, 도 4b와 관련하여 위에 설명된 방식과 유사한 방식으로 도 5b에 개략적으로 예시된 바와 같이 왜곡된다. 도 5a는 복수의 희소점들(320)(예컨대, 320a, 320b 및 320c)을 포함하는 장면(예컨대, 도 3의 장면(300)과 유사할 수 있음)을 예시한다. 도 4b는 왜곡된 희소점들(525)(예컨대, 525a, 525b 및 525c)을 포함하는 결과적인 캡처된 이미지 프레임을 개략적으로 예시한다. 예컨대, 각각의 왜곡된 희소점(525)은 예시적인 대응 화살표(522)와 연관된다. 단지 예시 목적들로, 화살표들(522)의 크기는 희소점들(525)에 부여된 왜곡의 양에 비례한다. 따라서, 도 4b와 관련하여 앞서 설명된 것과 유사하게, 화살표(522a)는 화살표(522e)보다 더 작으며, 이는 화살표(522a)와 연관된 희소점(525a)이 희소점(525e)과 비교하여 덜 심각하게 왜곡된 것을 나타낼 수 있다.
예시적인 AR 아키텍처
[0049] 도 6은 AR 아키텍처(600)의 예의 블록도이다. AR 아키텍처(600)는 하나 또는 그 초과의 이미징 시스템들로부터 입력(예컨대, 외향 이미징 시스템(110)으로부터의 시각적 입력, 실내 카메라들로부터의 입력 등)을 수신하도록 구성된다. 이미징 디바이스들은 FOV 카메라들의 이미지들을 제공할 뿐만 아니라, 이미징 디바이스들에는 사용자의 위치 및 환경의 다양한 다른 속성들을 결정하기 위해 다양한 센서들(예컨대, 가속도계들, 자이로스코프들, 온도 센서들, 움직임 센서들, 깊이 센서들, GPS 센서들 등)이 또한 장착될 수 있다. 이러한 정보에는, 상이한 관점으로부터 이미지들 및/또는 다양한 큐들(cues)을 제공할 수 있는, 실내 고정 카메라들로부터의 정보가 추가로 보충될 수 있다.
[0050] AR 아키텍처(600)는 다수의 카메라들(610)을 포함할 수 있다. 예컨대, AR 아키텍처(600)는 웨어러블 디스플레이 시스템(100)의 전방으로부터 FOV의 캡처된 복수의 이미지들을 입력하도록 구성된 도 1의 외향 이미징 시스템(110)을 포함할 수 있다. 일부 실시예들에서, 카메라들(610)은 사용자의 얼굴의 측면들에 배열된 상대적으로 넓은 시야 또는 패시브 쌍의 카메라들 및 스테레오 이미징 프로세스를 처리하기 위해 사용자의 전방으로 배향된 다른 쌍의 카메라들을 포함할 수 있다. 그러나, 다른 이미징 시스템들, 카메라들 및 어레인지먼트들이 가능하다.
[0051] AR 아키텍처(600)는 또한 세계에 대한 맵 데이터를 포함하는 맵 데이터베이스(630)를 포함할 수 있다. 일 실시예에서, 맵 데이터베이스(630)는 사용자-웨어러블 시스템(예컨대, 로컬 프로세싱 및 데이터 모듈(70)) 상에 부분적으로 상주할 수 있거나, 유선 또는 무선 네트워크(예컨대, 원격 데이터 저장소(74))에 의해 액세스 가능한 네트워킹된 저장 위치들에 부분적으로 상주할 수 있다. 일부 실시예들에서, 맵 데이터베이스(630)는 실세계 맵 데이터 또는 가상 맵 데이터(예컨대, 가상 맵을 정의하거나 실세계 환경 상에 오버레이되는 가상 이미지 엘리먼트들을 포함함)를 포함할 수 있다. 일부 실시예들에서, 컴퓨터 비전 기술들은 맵 데이터를 생성하는 데 사용될 수 있다. 일부 실시예들에서, 맵 데이터베이스(630)는 환경의 기존의 맵일 수 있다. 다른 실시예들에서, 맵 데이터베이스(630)는, 메모리에 입력되고 후속하여 식별된 희소점들에 대한 비교 및 프로세싱을 위해 저장되는 식별된 희소점들에 기반하여, 파퓰레이팅될 수 있다. 다른 실시예에서, 단독으로 또는 조합하여, 맵 데이터베이스(630)는 하나 또는 그 초과의 이미지 프레임들(또는 롤링 셔터 카메라 시스템에 대한 프레임들의 부분들)로부터의 식별된 희소점들에 기반하여 동적으로 업데이트되는 기존의 맵일 수 있다. 예컨대, 하나 또는 그 초과의 희소점들은 환경 내의 객체들(예컨대, 도 3의 객체들(325))을 식별하는 데 사용되고, 환경의 식별 특징들로 맵을 파퓰레이팅하는 데 사용될 수 있다.
[0052] AR 아키텍처(600)는 또한 카메라(610)로부터 입력들을 수신하도록 구성되는 버퍼(620)를 포함할 수 있다. 버퍼(620)는, 예컨대, 비-일시적인 데이터 저장소(예컨대, 도 2의 로컬 프로세싱 및 데이터 모듈(70))와는 별개이거나 그의 부분이고, 일시적으로(on a temporary basis) 이미지 데이터를 저장하도록 구성된 비-일시적인 데이터 버퍼일 수 있다. 이어서, 버퍼(620)는 일부 또는 모든 수신된 입력들을 일시적으로 저장할 수 있다. 일부 실시예들에서, 버퍼(620)는, 예컨대, 추가 프로세싱이 수행되고 데이터가 AR 아키텍처(600)의 다른 컴포넌트로 이동하기 전에(예컨대, 도 9a 및 9b와 관련하여 아래에 설명된 바와 같이) 수신된 데이터의 하나 또는 그 초과의 부분들 또는 세그먼트들을 저장하도록 구성될 수 있다. 일부 실시예들에서, 카메라(610)에 의해 수집된 이미지 데이터는, 사용자가 환경에서 동작하는 웨어러블 디스플레이 시스템(100)을 경험할 때, 버퍼(620)에 입력될 수 있다. 이러한 이미지 데이터는 카메라들(610)에 의해 캡처된 이미지들 또는 이미지들의 세그먼트들을 포함할 수 있다. 이어서, 이미지들 또는 이미지들의 세그먼트들을 나타내는 이미지 데이터는, 로컬 프로세싱 및 데이터 모듈에 의해 프로세싱되기 전에 버퍼(620)로 송신되어 버퍼(620)에 저장되고, 웨어러블 디스플레이 시스템(100)의 사용자에 대한 시각화 및 프리젠테이션을 위해 디스플레이(62)로 전송될 수 있다. 이미지 데이터는 또한, 대안적으로 또는 조합하여, 맵 데이터베이스(630)에 저장될 수 있다. 또는, 데이터는, 버퍼(620)에 저장된 후에, 메모리(예컨대, 로컬 프로세싱 및 데이터 모듈(70) 또는 원격 데이터 저장소(74))로부터 제거될 수 있다. 일 실시예에서, 버퍼(620)는 사용자-웨어러블 시스템(예컨대, 로컬 프로세싱 및 데이터 모듈(70)) 상에 부분적으로 상주할 수 있거나, 유선 또는 무선 네트워크(예컨대, 원격 데이터 저장소(74))에 의해 액세스 가능한 네트워킹된 저장 위치들에 부분적으로 상주할 수 있다.
[0053] AR 아키텍처(600)는 또한 하나 또는 그 초과의 객체 인식기들(650)을 포함할 수 있다. 객체 인식기들은, 예컨대, 컴퓨터 비전 기술들을 통해 맵 데이터베이스(630)의 도움으로, 수신된 데이터를 크롤링(crawl through)하고, 객체들을 식별 및/또는 태깅하고, 객체들에 정보를 첨부하도록 구성될 수 있다. 예컨대, 객체 인식기들은 버퍼(620)에 저장된 이미지 데이터 또는 이미지 세그먼트들을 스캔하거나 크롤링하고, 이미지 데이터에서 캡처된 객체들(예컨대, 도 3의 객체들(325))을 식별할 수 있다. 버퍼에서 식별된 객체들은 태깅되거나, 맵 데이터베이스를 참조하여 그에 디스크립션 정보가 부착될 수 있다. 맵 데이터베이스(630)는, 맵 데이터베이스(630)를 생성하기 위해 시간에 따라 그리고 캡처된 이미지 데이터와 그들의 대응하는 객체들(예컨대, 제1 이미지 프레임에서 식별된 객체들과 후속 이미지 프레임에서 식별된 객체의 비교) 사이에서 식별되거나, 환경의 맵을 생성하는 데 사용되는 다양한 객체들을 포함할 수 있다. 일부 실시예들에서, 맵 데이터베이스(630)는 환경의 기존 맵으로 파퓰레이팅될 수 있다. 일부 실시예들에서, 맵 데이터베이스(630)는 AR 디바이스(예컨대, 로컬 프로세싱 및 데이터 모듈(70)) 상에 저장된다. 다른 실시예들에서, AR 디바이스 및 맵 데이터베이스는 클라우드 저장소(예컨대, 원격 데이터 저장소(74))에 액세스하기 위해 네트워크(예컨대, LAN, WAN 등)를 통해 서로 연결될 수 있다.
[0054] 일부 실시예들에서, AR 아키텍처(600)는, 웨어러블 컴퓨팅 하드웨어 또는 디바이스의 위치 및 배향을 결정하기 위해, 버퍼(620) 및 맵 데이터베이스(630)에 저장된 데이터에 부분적으로 기반하여 포즈 추정 프로세스를 수행하기 위한 명령들을 실행하도록 구성된 포즈 추정 시스템(640)을 포함한다. 예컨대, 포지션, 위치 또는 배향 데이터는, 사용자가 웨어러블 디바이스를 경험하고 세계에서 가동시키고 있을 때, 카메라(610)에 의해 수집된 데이터가 버퍼(620)에 입력될 때, 데이터로부터 컴퓨팅될 수 있다. 예컨대, 데이터로부터 식별되고 버퍼(620)에 저장된 객체들의 정보 및 수집에 기반하여, 객체 인식기(610)는 객체들(325)을 인식하고, 프로세서(예컨대, 로컬 프로세싱 및 데이터 모듈(70))에 희소점들(320)로서 이러한 객체들을 추출할 수 있다. 일부 실시예들에서, 희소점들(320)은, 주어진 이미지 프레임의 하나 또는 그 초과의 이미지 세그먼트들이 버퍼(620)에 입력될 때, 추출되고, 연관된 이미지 프레임에서 AR 디바이스의 포즈를 추정하는 데 사용될 수 있다. 포즈의 추정은, 이미지 프레임의 부가적인 이미지 세그먼트들이 버퍼(620)에 입력될 때, 업데이트되고, 추가적인 희소점들을 식별하는 데 사용될 수 있다. 선택적으로, 일부 실시예들에서, 포즈 추정 시스템(640)은 맵 데이터베이스(630)에 액세스하고, 이전의 캡처된 이미지 세그먼트들 또는 이미지 프레임들에서 식별된 희소점들(320)을 리트리브하고, AR 디바이스가 3D 공간을 통해 움직일 때 이전과 후속 이미지 프레임들 사이의 대응하는 희소점들(320)을 비교할 수 있고, 이로써 3D 공간에서 AR 디바이스의 움직임, 포지션 또는 배향을 추적한다. 예컨대, 도 3을 참조하면, 객체 인식기(650)는, 복수의 이미지 프레임들 각각에서, 램프(325a)로서 희소점(320a)을 인식할 수 있다. AR 디바이스는 하나의 이미지 프레임 내의 희소점(320a)과 다른 이미지 프레임들의 대응하는 희소점들(320a)을 연관시키기 위해 일부 디스크립터 정보를 부착하고, 이러한 정보를 맵 데이터베이스(650)에 저장할 수 있다. 객체 인식기(650)는 임의의 수의 희소점들(320), 예컨대, 1, 2, 3, 4개 등의 희소점들에 대해 객체들을 인식하도록 구성될 수 있다.
[0055] 일단 객체들이 인식되면, 정보는 AR 디바이스의 포즈를 결정하기 위해 포즈 추정 시스템(640)에 의해 사용될 수 있다. 일 실시예에서, 객체 인식기들(650)은, 이미지 세그먼트들이 수신될 때, 이미지 세그먼트들에 대응하는 희소점들을 식별할 수 있고, 후속하여 동일한 이미지 프레임의 후속 이미지 세그먼트들이 수신될 때, 추가적인 희소점들을 식별할 수 있다. 포즈 추정 시스템(640)은, 제1 식별된 희소점들에 기반하여 포즈를 추정하고, 후속으로 식별된 희소점들을 추정 프로세스에 통합함으로써 추정을 업데이트하기 위한 명령들을 실행할 수 있다. 다른 실시예에서, 단독으로 또는 조합하여, 객체 인식기들(650)은 제1 프레임에서 2개의 객체들(예컨대, 도 3에 도시된 객체((325a) 및 다른 객체)의 2개의 희소점들(320a, 320b)을 인식하고, 이어서 제2 프레임 및 후속 프레임들에서 동일한 2개의 희소점들을 식별할 수 있다(예컨대, 최대 임의의 수의 후속 프레임들이 고려될 수 있음). 둘 또는 그 초과의 프레임들의 희소점들 사이의 비교에 기반하여, 3D 공간 내의 포즈(예컨대, 배향 및 위치)는 또한 3D 공간을 통해 추정되거나 추적될 수 있다.
[0056] 일부 실시예들에서, 포즈 추정의 정밀도 또는 포즈 추정 결과들에서 잡음의 감소는, 객체 인식기들(640)에 의해 인식된 희소점들의 수에 기반할 수 있다. 예컨대, 3D 공간에서, 이미징 디바이스의 포지션, 위치 또는 배향은 환경 내의 병진 및 회전 좌표들에 기반할 수 있다. 이러한 좌표들은, 예컨대, 도 7과 관련하여 아래에 설명되는 바와 같이 X, Y 및 Z 병진 좌표들 또는 요, 롤, 피치 회전 좌표들을 포함할 수 있다. 일부 실시예들에서, 이미지 프레임으로부터 추출된 하나의 희소점은 이미징 디바이스의 전체 포즈를 전달할 수 없을 수 있다. 그러나, 단일 희소점은, 예컨대, 하나 또는 그 초과의 좌표들에 관련된 정보를 제공함으로써 포즈 추정에 대한 적어도 하나의 제약일 수 있다. 희소점들의 수가 증가함에 따라, 포즈 추정의 정밀도가 개선될 수 있나, 포즈 추정에서 잡음 또는 에러들이 감소될 수 있다. 예컨대, 2개의 희소점들은, 희소점에 의해 표현된 객체에 기반한 3D 공간에서의 이미징 디바이스의 X, Y 포지션을 나타낼 수 있다. 그러나, 이미징 디바이스는 객체에 대해(예컨대, 객체의 전방 또는 후방에서) 자신의 Z 포지션 또는 자신의 롤 좌표를 결정할 수 없을 수 있다. 따라서, 일부 실시예들에서, 3개의 희소점들이 포즈를 결정하는 데 사용될 수 있지만, 임의의 수(예컨대, 1, 2, 4, 5, 6, 7, 10 또는 그 초과 등)의 희소점들이 사용될 수 있다.
[0057] 일부 실시예들에서, 포즈 결정은 AR 디바이스에 탑재된 프로세서(예컨대, 로컬 프로세싱 및 데이터 모듈(70))에 의해 수행될 수 있다. 추출된 희소점들은 컴퓨터 비전 기술들을 실행하도록 구성된 포즈 추정 시스템(640)에 대한 입력들일 수 있다. 일부 실시예들에서, 포즈 추정 시스템은, 포즈 추정 시스템(640)에 의해 실행되는 SLAM 또는 V-SLAM(예컨대, 입력이 이미지들/시각 전용인 구성을 나타냄)을 포함할 수 있으며, 이어서, 포즈 추정 시스템(640)은 AR 디바이스를 둘러싼 세계의 희소점 프리젠테이션(670)을 출력할 수 있다. 일부 실시예들에서, 포즈 추정 시스템(640)은 연속적으로 업데이트되는 회귀 베이지안 추정기(recursive Bayesian estimator)(예컨대, Kalman 필터)를 실행하도록 구성될 수 있다. 그러나, 베이지안 추정기는 포즈 추정 시스템(640)에 의한 포즈 추정을 수행하기 위한 적어도 하나의 방법의 예시적인 예로서 의도되며, 다른 방법들 및 프로세스들은 본 개시내용의 범위 내에서 구상된다. 시스템은, 다양한 컴포넌트들이 세계의 어디에 존재하는지뿐만 아니라 세상이 무엇으로 구성되는지를 알도록 구성될 수 있다. 포즈 추정은, 맵 데이터베이스(630)를 파퓰레이팅하고 맵 데이터베이스(630)로부터의 데이터를 사용하는 것을 포함하는 많은 목표들을 성취하는 빌딩 블록일 수 있다. 다른 실시예들에서, AR 디바이스는 클라우드 저장소(예컨대, 원격 데이터 저장소(74))에 액세스하기 위해 네트워크(예컨대, LAN, WAN 등)를 통해 포즈 추정을 수행하도록 구성된 프로세서에 연결될 수 있다.
[0058] 일부 실시예들에서, 하나 또는 그 초과의 원격 AR 디바이스들은 AR 아키텍처(600)를 포함하는 단일 AR 디바이스의 포즈 결정에 기반하여 각각의 AR 디바이스의 포즈를 결정하도록 구성될 수 있다. 예컨대, 하나 또는 그 초과의 AR 디바이스들은 AR 아키텍처(600)를 포함하는 제1 AR 디바이스와 유선 또는 무선 통신할 수 있다. 제1 AR 디바이스는 본원에 설명된 바와 같이 환경으로부터 추출된 희소점들에 기반하여 포즈 결정을 수행할 수 있다. 제1 AR 디바이스는 또한, 하나 또는 그 초과의 원격 AR 디바이스들(예컨대, 제2 AR 디바이스)에 의해 수신될 수 있는 식별 신호(예컨대, IR 신호 또는 다른 적절한 매체)를 송신하도록 구성될 수 있다. 일부 실시예들에서, 제2 AR 디바이스는 제1 AR 디바이스와 유사한 콘텐츠를 디스플레이하고 제1 AR 디바이스로부터 식별 신호를 수신하려고 시도할 수 있다. 식별 신호로부터, 제2 AR 디바이스는, 희소점들을 추출하지 않고 제2 AR 디바이스에 대한 포즈 추정을 수행하지 않고서, 제1 AR 디바이스에 대한 자신의 포즈를 결정(예컨대, 식별 신호를 해석 또는 프로세싱)할 수 있다. 이러한 어레인지먼트의 하나의 비-제한적인 이점은, 제1 및 제2 AR 디바이스들을 링크함으로써 2개의 AR 디바이스들 상에 디스플레이되는 가상 콘텐츠의 불일치들이 회피될 수 있다는 것이다. 이러한 어레인지먼트의 또 다른 비-제한적인 이점은, 제2 AR 시스템이 제1 AR 디바이스로부터 수신된 식별 신호에 기반하여 자신의 추정된 포지션을 업데이트할 수 있다는 것이다.
이미징 디바이스 포즈 및 좌표계의 예
[0059] 도 7은 이미징 디바이스 포즈에 대한 좌표계의 예이다. 디바이스(700)는 다수의 자유도들(degrees of freedom)을 가질 수 있다. 디바이스(700)가 상이한 방향들을 향해 움직일 때, 디바이스(700)의 포지션, 위치 또는 배향은 시작 포지션(720)에 대해 변할 것이다. 도 7의 좌표계는, 3D 공간 내의 위치를 결정하기 위해 디바이스의 시작 포지션(720)에 대한 디바이스의 움직임을 측정하는 데 사용될 수 있는 3개의 병진 운동 방향들(예컨대, X, Y 및 Z 방향들)을 도시한다. 도 7의 좌표계는 또한 디바이스의 시작 방향(720)에 대한 디바이스 배향을 측정하는 데 사용될 수 있는 3개의 각도 자유도들(예컨대, 요, 피치 및 롤)을 도시한다. 도 7에 예시된 바와 같이, 디바이스(700)는 수평적으로(예컨대, X 방향 또는 Z 방향) 또는 수직적으로(예컨대, Y 방향) 또한 이동될 수 있다. 디바이스(700)는 또한 전방 및 후방으로 기울어지고(예컨대, 피칭), 좌우로 회전하고(예컨대, 요잉), 좌우로(side to side) 기울어질(예컨대, 롤링) 수 있다. 다른 구현들에서, 머리 포즈를 측정하기 위한 다른 기술들 또는 각도 표현들, 예컨대, 다른 타입의 Euler 각도 시스템이 사용될 수 있다.
[0060] 도 7은, 예컨대, 웨어러블 디스플레이 시스템(100), AR 디바이스, 이미징 디바이스, 또는 본원에 설명되는 임의의 다른 디바이스로 구현될 수 있는 디바이스(700)를 예시한다. 본 개시내용 전체에 걸쳐 설명된 바와 같이, 디바이스(700)는 포즈를 결정하는 데 사용될 수 있다. 예컨대, 디바이스(700)가 도 6의 AR 아키텍처(600)를 포함하는 AR 디바이스인 경우, 포즈 추정 시스템(640)은, X, Y 또는 Z 방향들의 디바이스 이동을 추적하거나, 요, 피치 또는 롤의 각도 이동을 추적하기 위해서, 위에 설명된 바와 같이, 포즈 추정 프로세스에서 사용하도록 희소점들을 추출하기 위해 이미지 세그먼트 입력들을 사용할 수 있다.
3D 공간에서 포즈를 추정하기 위한 예시적인 루틴
[0061] 도 8은, 이미징 디바이스가 움직이는 3D 공간(예컨대, 도 3)에서 이미징 디바이스(예컨대, 도 2의 외향 이미징 시스템(110))의 포즈를 결정하기 위한 예시적인 루틴의 프로세스 흐름도이다. 루틴(800)은, 3D 공간에서 이미징 디바이스의 포지션, 위치 또는 배향 중 하나를 결정하기 위해, 복수의 희소점들이 FOV(예컨대, FOV(315a, 315b, 315c 또는 315d))를 나타내는 이미지 프레임으로부터 추출될 수 있는 방법을 설명한다.
[0062] 블록(810)에서, 이미징 디바이스는 AR 디바이스를 둘러싸는 환경에 관한 입력 이미지를 캡처할 수 있다. 예컨대, 이미징 디바이스는 주변 환경으로부터 수신된 광에 기반하여 입력 이미지의 복수의 이미지 세그먼트들을 순차적으로 캡처할 수 있다. 이는 다양한 입력 디바이스들(예컨대, AR 디바이스 상의 또는 AR 디바이스로부터 원격인 디지털 카메라들)을 통해 달성될 수 있다. 입력은 FOV(예컨대, FOV(315a, 315b, 315c 또는 315d))를 나타내는 이미지일 수 있고 복수의 희소점들(예컨대, 희소점들(320))를 포함할 수 있다. FOV 카메라, 센서들, GPS 등은, 이미지 세그먼트들이 이미징 디바이스에 의해 캡처될 때(블록(810)), 순차적으로 캡처된 이미지 세그먼트들의 이미지 데이터를 포함하는 정보를 시스템에 전달할 수 있다.
[0063] 블록(820)에서, AR 디바이스는 입력 이미지를 수신할 수 있다. 일부 실시예들에서, AR 디바이스는 블록(810)에서 캡처된 이미지의 일부를 형성하는 복수의 이미지 세그먼트들을 순차적으로 수신할 수 있다. 예컨대, 위에 설명된 바와 같이, 외향 이미징 시스템(110)은 장면을 순차적으로 스캔하고, 이로써 복수의 이미지 세그먼트를 순차적으로 캡처하고, 데이터가 캡처될 때, 이미지 데이터를 저장 유닛에 순차적으로 입력하도록 구성된 롤링 셔터 카메라일 수 있다. 정보는 사용자-웨어러블 시스템(예컨대, 로컬 프로세싱 및 데이터 모듈(70))에 저장될 수 있거나, 유선 또는 무선 네트워크들에 의해 액세스 가능한 네트워크 저장 위치들(예컨대, 원격 데이터 저장소(74))에 부분적으로 상주할 수 있다. 일부 실시예들에서, 정보는 저장 유닛에 포함된 버퍼에 일시적으로 저장될 수 있다.
[0064] 블록(830)에서, AR 디바이스는 수신된 이미지 세그먼트들에 기반하여 하나 또는 그 초과의 희소점들을 식별할 수 있다. 예컨대, 객체 인식기는 수신된 이미지 세그먼트들에 대응하는 이미지 데이터를 크롤링하고, 하나 또는 그 초과의 객체들(예컨대, 객체들(325))을 식별할 수 있다. 일부 실시예들에서, 하나 또는 그 초과의 희소점들을 식별하는 것은, 도 9a 및 9b를 참조하여 아래에 설명된 바와 같이, 하나 또는 그 초과의 희소점들에 대응하는 이미지 세그먼트들을 수신하는 것에 기반할 수 있다. 이어서, 객체 인식기들은, 포즈 데이터(예컨대, 3D 공간 내의 이미징 디바이스 포즈)를 결정하기 위한 입력들로서 사용될 수 있는 희소점들을 추출할 수 있다. 이어서, 이러한 정보는 포즈 추정 프로세스로 전달될 수 있고(블록(840)), 그에 따라 AR 디바이스는 AR 디바이스를 3D 공간을 통해 매핑하기 위해 포즈 추정 시스템을 활용할 수 있다(블록(850)).
[0065] 다양한 실시예들에서, 루틴(800)은 메모리 또는 저장 유닛에 저장된 명령들을 실행하도록 구성된 하드웨어 프로세서(예컨대, 도 2의 로컬 프로세싱 및 데이터 모듈(70))에 의해 수행될 수 있다. 다른 실시예들에서, (디스플레이 장치와 네트워크 통신하는) 원격 컴퓨팅 디바이스는 컴퓨터-실행 가능 명령들을 사용하여 디스플레이 장치로 하여금 루틴(800)의 양상들을 수행하게 할 수 있다.
[0066] 위에 설명된 바와 같이, 현재 포즈 추정 프로세스들은, 이미지 캡처 디바이스로부터 포즈 추정 시스템으로 데이터(예컨대, 추출된 희소점들)를 송신하는 것으로 인해, AR 디바이스의 포즈를 추정하는 데 있어 지연을 포함할 수 있다. 예컨대, 현재의 구현들은 전체 이미지 프레임이 이미지 캡처 디바이스로부터 포즈 추정기(예컨대, SLAM, VSLAM 또는 유사한 것)로 송신되도록 요구할 수 있다. 일단 전체 이미지 프레임이 송신되면, 객체 인식기는 희소점들을 식별하고 그들을 포즈 추정기로 추출하도록 허용된다. 전체 이미지 프레임을 송신하는 것은 포즈를 추정하는 것의 지연에 기여하는 하나의 팩터일 수 있다.
이미지 프레임들로부터의 희소점들의 예시적인 추
[0067] 도 9a 및 9b는 다수의 이미지 세그먼트들을 수신하는 것에 기반하여 이미지 프레임으로부터 하나 또는 그 초과의 희소점들을 추출하는 예를 개략적으로 예시한다. 일부 구현들에서, 도 9a 및 9b는 또한 3D 공간을 통해 이미징 디바이스(예컨대, 도 2의 외향 이미징 디바이스(110))의 포즈를 추정하는 데 있어 지연을 최소화하는 예시적인 방법을 개략적으로 예시할 수 있다. 일부 실시예들에서, 도 9a 및 9b는 또한 이미지 프레임(900)의 하나 또는 그 초과의 희소점들을 식별하는 예를 개략적으로 예시한다. 일부 구현들에서, 도 9a 및 9b는, 위에 설명된 바와 같이, 이미지 프레임이 롤링 셔터 카메라에 의해 이미징 디바이스로부터 저장 유닛에 입력될 때, 이미지 프레임을 예시한다. 이미지 프레임(900)은 프로그레시브 스캔 이미징 디바이스로서 구성된 외향 이미징 시스템(110)에 의해 캡처될 수 있다. 이미지 프레임은, 이미지 세그먼트들이 이미징 디바이스에 의해 캡처될 때, 이미징 디바이스로부터 저장 유닛(예컨대, 로컬 프로세싱 및 데이터 모듈(70))에 입력되는 복수의 이미지 세그먼트들(때때로 스캔 라인들로 지칭됨)(905a 내지 905n)을 포함할 수 있다. 이미지 세그먼트들은 (도 9a에 도시된 바와 같이) 수평적으로 배열되거나 수직적으로 배열될 수 있다(도시 되지 않음). 15개의 이미지 세그먼트들이 예시되지만, 이미지 세그먼트의 수는 그렇게 제한될 필요는 없으며, 주어진 애플리케이션에 대해 요구되는 바와 같이 또는 이미징 시스템의 성능들에 기반하여 임의의 수의 이미지 세그먼트들(905a 내지 905n)일 수 있다. 일부 구현들에서, 이미지 세그먼트는 래스터 스캐닝 패턴의 라인(예컨대, 행(row) 또는 열(column))일 수 있으며, 예컨대, 이미지 세그먼트는 외향 이미징 디바이스(110)에 의해 캡처된 이미지의 래스터 스캐닝 패턴의 픽셀들의 행 또는 열일 수 있다. 래스터 스캐닝 패턴은, 본 개시내용 전반에 설명된 바와 같이, 롤링 셔터 카메라에 의해 수행되거나 실행될 수 있다.
[0068] 도 9a를 다시 참조하면, 이미지 프레임(900)은, 순차적으로 캡처되어 저장 유닛에 입력되는 복수의 이미지 세그먼트들(905)을 포함할 수 있다. 이미지 세그먼트들(905)은 이미징 디바이스에 의해 캡처된 FOV(field of view)를 나타내도록 결합될 수 있다. 이미지 프레임(900)은 또한, 예컨대, 도 3을 참조하여 위에 설명된 바와 같이, 복수의 희소점들(320)을 포함할 수 있다. 일부 구현들에서, 도 9a에 예시된 바와 같이, 각각의 희소점(320)은 하나 또는 그 초과의 이미지 세그먼트들(905)에 의해 생성될 수 있다. 예컨대, 희소점(320a)은 이미지 세그먼트들(905)의 서브세트(910)에 의해 생성되고, 따라서 그에 연관될 수 있다. 따라서, 각각의 희소점은, 이미지 세그먼트들이 저장 유닛에서 수신될 때, 각각의 주어진 희소점에 대응하는 이미지 세그먼트들(905)의 서브세트를 수신할 때 식별될 수 있다. 예컨대, 희소점(320a)은, 이미지 세그먼트들(906a 내지 906n)이 AR 디바이스의 저장 유닛에서 수신되자마자, 객체 인식기(예컨대, 객체 인식기(650))에 의해 식별될 수 있다. 이미지 세그먼트들(906a 내지 906n)은 희소점(320a)을 나타내는 이미지 세그먼트들(905)의 서브세트(910)에 대응할 수 있다. 따라서, AR 디바이스는, 대응하는 이미지 세그먼트들이 이미지 캡처 디바이스(예컨대, 프로그레시브 스캔 카메라)로부터 수신되자마자 개별 희소점들을 결정할 수 있다. 이미지 세그먼트들(905)의 서브세트(910)는 이미지 세그먼트들(906a 내지 906n)을 포함할 수 있다. 일부 구현들에서, 이미지 세그먼트들(906)의 수는, 수직 방향을 따라 전체 희소점을 분석(resolve)하거나 캡처하는 데 필요한 수직 방향으로 순차적으로 수신되는 이미지 세그먼트들의 수에 기반할 수 있다. 도 9b가 희소점(320a)과 연관된 7개의 이미지 세그먼트들을 예시하지만, 반드시 그럴 필요는 없고, 희소점(320a)에 대응하는 객체(325a)를 식별하기 위해 필요에 따라 임의의 수(예컨대, 2, 3, 4, 5, 6, 8, 9, 10, 11개 등)의 이미지 세그먼트들이 희소점(320a)과 연관될 수 있다.
[0069] 예시적인 구현에서, 희소점들(320)은 원형 또는 롤링 버퍼를 구현함으로써 식별될 수 있다. 예컨대, 버퍼는, 도 6의 버퍼(620)와 유사할 수 있다. 버퍼는 AR 디바이스(예컨대, 로컬 프로세싱 및 데이터 모듈(70)) 상에 저장된 메모리 또는 저장 유닛의 일부로서 구성될 수 있거나, AR 디바이스(예컨대, 원격 데이터 저장소(74))에 대해 원격일 수 있다. 버퍼는 이미지 캡처 디바이스(예컨대, 도 2의 외향 이미징 시스템(110))로부터 이미지 정보를 수신하도록 구성될 수 있다. 예컨대, 버퍼는, 이미지 센서가 각각의 순차적인 이미지 세그먼트를 캡처할 때, 이미지 센서로부터 이미지 세그먼트를 나타내는 이미지 데이터를 순차적으로 수신할 수 있다. 버퍼는 또한 이미지 콘텐츠의 후속 프로세싱 및 식별을 위해 이미지 데이터의 일부를 저장하도록 구성될 수 있다. 일부 실시예들에서, 버퍼는 하나 또는 그 초과의 이미지 세그먼트들을 저장하도록 구성될 수 있으며, 이미지 세그먼트들의 수는 전체 이미지 프레임(900)보다 더 적을 수 있다. 일부 실시예들에서, 버퍼에 저장된 이미지 세그먼트들의 수는 미리 결정된 수, 예컨대, 서브세트(910) 내의 수일 수 있다. 일부 실시예들에서, 대안적으로 또는 조합하여, 버퍼는 희소점에 대응하는 이미지 세그먼트들의 서브세트(910)를 저장하도록 구성될 수 있다. 예컨대, 도 9b를 참조하면, 희소점(320a)은 7x7 픽셀 윈도우(예컨대, 각각의 이미지 세그먼트가 7개의 픽셀들을 포함하는 이미지 세그먼트들(906)을 제공하는 픽셀들의 7개의 행들)를 요구할 수 있다. 이 실시예에서, 버퍼는 이미지 세그먼트들(906)의 서브세트(910), 예컨대, 예시된 7개의 이미지 세그먼트들을 저장하기에 충분히 크게 구성될 수 있다.
[0070] 위에 설명된 바와 같이, 버퍼는 이미지 데이터를 일시적으로 저장하도록 구성될 수 있다. 따라서, 새로운 이미지 세그먼트들이 이미징 캡처 디바이스로부터 수신될 때, 오래된 이미지 세그먼트들이 버퍼로부터 제거된다. 예컨대, 제1 이미지 세그먼트(906a)가 수신될 수 있고, 후속 이미지 세그먼트는 희소점(320a)에 대응하는 버퍼에서 수신될 수 있다. 일단 모든 이미지 세그먼트들(906a 내지 906n)이 수신되면, 희소점(320a)이 식별될 수 있다. 후속하여, 새로운 이미지 세그먼트(예컨대, 906n+1)가 수신되고, 이로써 이미지 세그먼트(906a)가 버퍼로부터 제거된다. 일부 실시예들에서, 세그먼트(906a)는 추가 프로세싱을 위해 버퍼로부터 디지털 메모리(예컨대, 로컬 프로세싱 및 데이터 모듈(70))의 저장소로 이동된다.
3D 공간에서 포즈를 추정하기 위한 예시적인 루틴
[0071] 도 10은, 이미징 디바이스가 움직이는 3D 공간(예컨대, 도 3)에서 이미징 디바이스(예컨대, 도 2의 외향 이미징 시스템(110))의 포즈를 결정하기 위한 예시적인 루틴의 프로세스 흐름도이다. 루틴(1000)은, 제1 그룹의 희소점들의 희소점들에 대응하는 이미지 세그먼트들이 수신될 때, 제1 그룹의 희소점들이 이미지 프레임으로부터 어떻게 추출될 수 있는지의 예를 설명한다. 다양한 실시예들에서, 대응하는 이미지 세그먼트들은 이미징 디바이스의 FOV를 나타내는 전체 이미지 프레임을 캡처하기 전에, 캡처될 수 있다. 루틴(1000)은 또한, 후속 희소점들 또는 제2 그룹의 희소점들이 포즈 결정을 업데이트하기 위해 어떻게 추출되고 통합되는지를 설명한다. 루틴(1000)은, 위에 설명된 바와 같이, 외향 이미징 시스템(예컨대, 외향 이미징 시스템(110)) 및 디지털 메모리, 또는 버퍼에 동작 가능하게 커플링된 하드웨어 프로세서(예컨대, 도 2의 로컬 프로세싱 및 데이터 모듈(70))에 의해 수행될 수 있다. 외향 이미징 시스템(110)은 롤링-셔터 카메라를 포함할 수 있다.
[0072] 블록(1010)에서, 이미징 디바이스는 AR 디바이스를 둘러싸는 환경에 관한 입력 이미지를 캡처할 수 있다. 예컨대, 이미징 디바이스는 주변 환경으로부터 수신된 광에 기반하여 입력 이미지의 복수의 이미지 세그먼트들을 순차적으로 캡처할 수 있다. 이는 다양한 입력 디바이스들(예컨대, AR 디바이스 상의 또는 AR 디바이스로부터 원격인 디지털 카메라들)을 통해 달성될 수 있다. 입력은 FOV(예컨대, FOV(315a, 315b, 315c 또는 315d))를 나타내는 이미지 프레임일 수 있고, 복수의 희소점들(예컨대, 희소점들(320))을 포함할 수 있다. FOV 카메라, 센서들, GPS 등은, 이미지 세그먼트들이 이미징 디바이스에 의해 캡처될 때(블록(1010)), 순차적으로 캡처된 이미지 세그먼트들의 이미지 데이터를 포함하는 정보를 시스템으로 전달할 수 있다.
[0073] 블록(1020)에서, AR 디바이스는 입력 이미지를 수신할 수 있다. 일부 실시예들에서, AR 디바이스는 블록(1010)에서 캡처된 이미지의 일부를 형성하는 제1 복수의 이미지 세그먼트들을 순차적으로 수신할 수 있다. 예컨대, 이미징 디바이스는 장면을 순차적으로 스캔하고, 이로써, 도 9a 및 9b를 참조하여 위에 설명된 바와 같이, 제1 복수의 이미지 세그먼트들을 순차적으로 캡처하도록 구성될 수 있다. 이미지 센서는 또한, 데이터가 캡처될 때, 이미지 데이터를 저장 유닛에 순차적으로 입력할 수 있다. 정보는 사용자-웨어러블 시스템에 저장될 수 있거나, 유선 또는 무선 네트워크들(예컨대, 원격 데이터 저장소(74))에 의해 액세스 가능한 네트워크 저장 위치들(예컨대, 로컬 프로세싱 및 데이터 모듈(70)에 부분적으로 상주할 수 있다. 일부 실시예들에서, 정보는 저장 유닛에 포함된 버퍼에 일시적으로 저장될 수 있다.
[0074] 블록(1030)에서, AR 디바이스는 각각의 희소점에 대응하는 제1 복수의 이미지 세그먼트들(때때로 "프리-리스트"로 지칭됨)의 수신에 기반하여 제1 그룹의 희소점들을 식별할 수 있다. 예컨대, 도 9a 및 9b를 참조하면, AR 디바이스는, 도 9a 및 9b를 참조하여 위에 설명된 바와 같이, 하나 또는 그 초과의 희소점들(320)에 대응하는 이미지 세그먼트들(905)(예컨대, 제1 복수의 이미지 세그먼트들)의 서브세트(910)를 수신하는 것에 기반하여 하나 또는 그 초과의 희소점들(320)을 식별할 수 있다. 희소점들(320)은, 희소점들(320)에 대응하는 이미지 세그먼트들(905)(예컨대, 이미지 세그먼트들(906))의 서브세트(910)가 저장 유닛(예컨대, 로컬 프로세싱 및 데이터 모듈(70))에서 수신되자마자 식별될 수 있다.
[0075] 일부 구현들에서, 제1 그룹의 희소점들은 임의의 수(N1)의 희소점들을 포함한다. 개수(N1)는 환경에서 AR 디바이스의 포즈를 추정하기 위해 선택된 희소점들의 임의의 수일 수 있다. 일부 실시예들에서, 개수(N1)는 3개 미만이 아닌 희소점들일 수 있다. 다른 실시예들에서, 개수(N1)는 10 내지 20개의 희소점들이다. 더 많은 수(N1)의 하나의 비-제한적인 장점은, 아웃라이어 데이터 포인트들(outlier data points)이 거부될 수 있다는 것이고, 이것은 인라이어(inliar) 데이터 포인트들로 인한 잡음에 대한 일정 견고성(robustness)을 갖는 포즈 결정을 제공할 수 있다. 예컨대, 이미징 디바이스는 물리적 이미징 디바이스에 부여된 이벤트로 인해 질팅(jilt)되거나 쉐이킹(shake)될 수 있거나, 기록되는 장면은 일시적으로 변경될 수 있다(예컨대, 전경에서 움직이는 사람). 이벤트는 하나 또는 그 초과의 이미지 프레임들에서 작은 그룹의 희소점들에만 영향을 줄 수 있다. 본 명세서에 따라, 더 많은 수(N1)의 희소점들을 사용하거나, 포즈 추정을 업데이트하여, 이러한 아웃라이어들 또는 단일 인스턴스 이벤트들로 인한 포즈 추정에서의 잡음은 적어도 부분적으로 감소될 수 있다.
[0076] 일 구현에서, 제1 그룹의 희소점들은 (예컨대, 객체 인식기들(650)에 의해) 이미지 프레임으로부터 추출될 수 있고, 포즈 결정(예컨대, SLAM, VSLAM 또는 위에 설명된 바와 유사한 것)을 실행하도록 구성된 포즈 추정 시스템(예컨대, 도 6의 포즈 추정 시스템(640))으로 전달될 수 있다(블록(1040)). 다양한 실시예들에서, 대응하는 제1 복수의 이미지 세그먼트들을 수신하는 것에 기반하여, 개수(N1)의 희소점들을 식별할 때, 제1 그룹의 희소점들은 포즈 추정 시스템으로 전달된다. 따라서, 제1 그룹의 희소점들은, 이미징 디바이스들이 전체 이미지 프레임을 수신하지 않았기 때문에, 이미지 프레임의 일부만이 수신되었을 때 전달될 수 있고; 후속 이미지 세그먼트들(예컨대, 제1 복수의 이미지 세그먼트들 후에 획득된 제2 복수의 이미지 세그먼트들)은 여전히 수신되도록 유지된다. 일 실시예에서, 제1 그룹의 희소점들은, 희소점들 각각이 대응하는 서브세트의 이미지 세그먼트들을 스캔한 것에 기반하여 식별되자마자, (예컨대, AR 디바이스의 저장 유닛 또는 그의 일부, 예컨대, 버퍼로부터) 추출될 수 있다. 다른 실시예에서, 일단 개수(N1)의 희소점들이 식별되면, 제1 그룹의 희소점들은 (예컨대, AR 디바이스의 저장 유닛 또는 버퍼로부터) 추출될 수 있고, 희소점들은 단일 프로세스로 송신된다.
[0077] 블록(1045)에서, AR 디바이스는 제2 복수의 이미지 세그먼트들(때때로 "후속-리스트"로 지칭됨)을 수신할 수 있다. 일부 실시예들에서, AR 디바이스는, 블록(1020)에서 제1 복수의 이미지 세그먼트들을 수신한 후에, 제2 복수의 이미지 세그먼트들을 순차적으로 획득할 수 있다. 예컨대, 이미징 디바이스는 장면을 순차적으로 스캔하고, 이로써 도 9a 및 9b를 참조하여 위에 설명된 바와 같이, 제1 복수의 이미지 세그먼트들을 순차적으로 캡처하고(예컨대, 블록(1020)), 후속하여, 블록(1030) 후에 또는 동안에, 제2 복수의 이미지 세그먼트들을 획득하기 위해 장면을 순차적으로 스캔하도록 구성될 수 있다. 다른 실시예에서, 제2 복수의 이미지 세그먼트들 또는 그의 일부는 이미징 디바이스에 의해 캡처된 제2 이미지로부터 획득될 수 있으며, 제2 이미지는 제1 이미지 후에 캡처된다. 정보는 AR 디바이스(예컨대, 로컬 프로세싱 및 데이터 모듈(70))에 저장될 수 있거나, 유선 또는 무선 네트워크에 의해 액세스 가능한 네트워킹된 저장 위치들(예컨대, 원격 데이터 저장소(74))에 부분적으로 상주할 수 있다. 일부 실시예들에서, 정보는 저장 유닛에 포함된 버퍼에 일시적으로 저장될 수 있다.
[0078] 도 10을 다시 참조하면, 블록(1050)에서, AR 디바이스는 제2 복수의 이미지 세그먼트들에 기반하여 제2 그룹의 희소점들을 식별할 수 있다. 예컨대, 일 실시예에서, 블록(1040)에서 포즈를 결정하기 전에 전체 이미지 프레임이 수신되지 않았고, 제2 복수의 이미지 세그먼트들은 블록(1045)에서 이미징 디바이스로부터 수신될 수 있다. 따라서, AR 디바이스는, 도 9a 및 9b를 참조하여 위에 설명된 바와 같이, 하나 또는 그 초과의 새로운 희소점들(예컨대, 제2 그룹의 희소점들)에 대응하는 제2 복수의 이미지 세그먼트들을 수신하는 것에 기반하여 그러한 하나 또는 그 초과의 새로운 희소점들을 식별할 수 있다. 다른 실시예에서, 제1 이미지가 블록(1010)에서 캡처된 후에 제2 이미지가 이미징 디바이스에 의해 캡처될 수 있고, 제2 복수의 이미지 세그먼트들은 제2 이미지로부터 획득될 수 있다. 따라서, AR 디바이스는, 제2 그룹의 희소점들에 대응할 수 있는, 제2 이미지로부터 제2 복수의 이미지 세그먼트들을 수신하는 것에 기반하여 하나 또는 그 초과의 새로운 희소점들을 식별할 수 있다. 일부 실시예들에서, 제2 그룹의 희소점들은 임의의 수(예컨대, 1, 2, 3개 등)의 새로운 희소점들을 포함할 수 있다. 일 구현에서, 제2 그룹의 희소점들은, 예컨대, 포즈 추정 시스템에 제2 그룹의 희소점들을 전달함으로써, 추출되어 포즈 결정에 통합될 수 있다. 아래는, 도 10의 제1 그룹의 희소점들과 제2 그룹의 희소점들을 매핑 루틴에 통합하는 예시적인 방법들이다. 예컨대, 본원에 설명된 예시적인 통합 방법들은 재통합, 슬라이딩 스케일 통합(sliding scale integration) 또는 블록 통합으로 지칭될 수 있다. 그러나, 이러한 예시적인 통합 방법들은 총망라한 것으로 의도되지 않는다. 포즈 결정에서 에러들을 최소화하고 지연들을 감소시킬 수 있는 다른 방법들이 가능하다.
[0079] 블록(1060)에서, 포즈 추정 시스템은 블록(1040)에서의 포즈 결정 및 블록(1050)에서의 제2 그룹의 희소점들의 수신에 기반하여 포즈 결정을 업데이트하도록 구성될 수 있다.
[0080] 위에서 설명된 루틴(1000)의 하나의 비-제한적인 이점은, 포즈 추정 프로세스 이전에 이미지 프레임으로부터 희소점들을 추출함으로써 발생되는 지연의 감소일 수 있다. 예컨대, 개별 희소점들에 대응하는 이미지 세그먼트들이 버퍼(620)에서 수신될 때, 그러한 희소점들을 컴퓨팅하고 식별함으로써, 개별 또는 선택된 희소점들의 그룹은, 전체 이미지 프레임이 캡처되기를 대기하지 않고서, 포즈 추정 시스템으로 추출되고, 이에 의해 프로세싱될 수 있다. 따라서, 포즈 추정은, 전체 이미지가 메모리로 송신되기 훨씬 전에 그리고 모든 희소점들이 전체 이미지로부터 추출될 수 있기 전에 수행될 수 있다. 그러나, 일단 제1 그룹 및 모든 후속 그룹들의 특정 이미지 프레임이 추출되었다면, 전체 이미지 프레임은 포즈 추정을 위해 이용 가능할 것이다.
[0081] 다양한 구현들에서, 제2 그룹의 희소점들은, 블록(1040)에서 포즈를 결정한 후에 식별된 설정된 수의 희소점들을 포함할 수 있다. 일부 실시예들에서, 설정된 수는 하나의 희소점일 수 있다. 예컨대, 후속 희소점이 식별될 때마다, 희소점은 포즈 추정 시스템으로 전달될 수 있고, 새로운 포즈 추정 프로세스는 AR 디바이스의 포지션, 위치 또는 배향 중 하나 또는 그 초과를 업데이트하기 위해 블록(1060)에서 수행된다. 이 방법은 때때로 재통합 방법으로 지칭될 수 있다. 따라서, 각각의 후속으로 식별된 희소점은 후속하는 그룹의 희소점들(예컨대, 제2, 제3, 제4 등의 그룹의 희소점들)을 나타낼 수 있다. 다른 실시예에서, 설정된 수는 임의의 수(예컨대, 2, 3, 4개 등)의 후속으로 식별된 희소점들일 수 있다. 예컨대, 설정된 수가 3인 경우, 3개의 새로운 희소점들(예컨대, 후속 그룹의 희소점들)이 식별될 때마다, 그룹은 블록(1050)에서 포즈 추정 시스템으로 전달되고, 새로운 포즈 추정 프로세스가 블록(1060)에서 수행된다. 따라서, 포즈 추정 프로세스는 전체 이미지 프레임에 포함된 모든 희소점들을 활용할 수 있다.
[0082] 다른 구현들에서, 통합 방법들은 도 4a-5b를 참조하여 위에 설명된 바와 같은 롤링 셔터 효과를 처리(account for)하도록 구성될 수 있다. 예컨대, 포즈 추정 프로세스는 고정된 수(N2)의 희소점들에 대해 수행될 수 있다. 이 방법은 때때로 슬라이딩 통합 방법으로 지칭될 수 있다. 이 실시예에서, 제2 그룹의 희소점들은, 블록(1040)에서 포즈를 결정한 후에 식별된 선택된 수(k2)의 희소점들을 포함할 수 있다. 개수(k2)의 희소점들이 식별될 때마다, 포즈 결정이 업데이트될 수 있다. 그러나, 가장 최근의 N2개의 희소점들만이 블록(1060)에서 포즈를 업데이트하는 데 사용될 수 있다. 일부 실시예들에서, 이 방법은, 희소점들이 어떠한 그룹에 대응하는지에 관계없이, 가장 최근의 N2개의 희소점들을 활용한다. 예컨대, N1이 10으로 설정되고, N2가 15로 설정되고, k2가 5로 설정되면, 제1 그룹의 희소점들은 블록(1030)에서 식별된 제1의 10개의 희소점들을 포함한다. 따라서, 포즈는 제1의 10개의 희소점들에 기반하여 블록(1040)에서 결정된다. 후속으로, 새로운 희소점이 식별되지만, 포즈는 업데이트되지 않는다. 일단 제2 그룹의 희소점들을 포함하는 5개의 새로운 희소점들이 식별되면, 포즈는 제1(N1개) 및 제2(k2개) 그룹의 희소점들에 기반하여 업데이트될 수 있다. 제3 그룹의 희소점들(예컨대, 제2 그룹에 후속하는 5개의 희소점들)이 식별되면, 포즈는 블록(1060)에서 다시 업데이트되지만, 업데이트는 제1 그룹(예컨대, 희소점들(6-10)), 제2 그룹(예컨대, 희소점들(11-15)) 및 제3 그룹(예컨대, 희소점들(16-21)) 중 일부에 기반할 수 있다. 따라서, 통합은 희소점들의 슬라이딩 윈도우 또는 슬라이딩 리스트로 간주될 수 있으며, 이로써 포즈를 추정하기 위해 설정된 수의 희소점들만이 사용되고, 사용되는 희소점들은 제1 그룹으로부터 제2 및 제3 그룹들을 통해 슬라이딩한다. 이 방법의 하나의 비-제한적인 이점은, 조기에 수신된 이미지 세그먼트들로부터 식별된 희소점들이 오래되거나 낡게(stale) 되기 전에, 그들이 블록(1060)에서의 포즈 결정으로부터 제거될 수 있다는 것이다. 일부 경우들에서, AR 디바이스가 희소점들에 대해 움직이면, 오래된 희소점들을 제거하고, 식별된 새로운 희소점들 사이에서 포즈의 변화를 캡처함으로써, 롤링 셔터 효과가 감소될 수 있다.
[0083] 일부 실시예들에서, 선행 통합 방법은, 예컨대, 외향 이미징 시스템(110)이 도 3의 FOV(315a)의 이미지 프레임을 캡처하는 것과 FOV(315b)에 대한 이미지 프레임을 캡처하는 것 사이에서 움직일 때, 이미지 프레임들 간에 활용될 수 있다. 예컨대, 제1 그룹의 희소점들은 제1 포지션(312a)(예컨대, FOV(315b))과 연관된 이미지 프레임으로부터 수신될 수 있고, 제2 그룹의 희소점들은 제2 포지션(312b)(예컨대, FOV(315b))과 연관된 이미지 프레임으로부터 수신될 수 있다. 슬라이딩 리스트 방법은 이들 이미지 프레임들 간의 롤링 셔터 효과들을 감소시키도록 구현될 수 있다. 그러나, 일부 실시예들에서, 제1 프레임으로부터 가장 최근의 (N2-1)개의 희소점들보다 더 많이 유지할 필요가 없을 수 있다.
[0084] 또 다른 구현에서, 블록(1060)에서의 포즈 결정은 고정된 수 또는 블록의 희소점들에 대해 수행될 수 있다. 이 방법은 때때로 블록 통합 방법으로 지칭될 수 있다. 일부 실시예들에서, 그 그룹들의 희소점들 각각은 블록과 동일한 수의 희소점들을 포함할 수 있다. 예컨대, 블록이 10으로 설정되면, 제1 그룹에 대한 고정된 수(N1)는 10이고, 이러한 제1 그룹을 식별 및 추출할 때, 포즈가 블록(1040)에서 결정된다. 후속하여, 다음의 10개의 희소점들을 포함하는 제2 그룹이 식별될 수 있고, 포즈는 이 제2 그룹을 사용하여 블록(1060)에서 업데이트된다. 일부 실시예들에서, 이 프로세스는 다수의(예컨대, 제3, 제4, 제5 등의) 그룹들에 대해 계속될 수 있다. 일부 실시예들에서, 이미지 세그먼트들이 버퍼(예컨대, 도 6의 버퍼(620))에 저장될 때, 버퍼의 크기는, 블록에 포함될 수 있는 적어도 그 개수의 희소점들을 저장하도록 선택 및 구성될 수 있다(예컨대, 버퍼는 위의 예에서 적어도 10개의 희소점들을 저장하도록 구성된 크기를 갖도록 선택될 수 있음). 일부 실시예들에서, 버퍼는 블록에 포함되는 개수의 희소점들만을 저장하도록 제한된 크기를 가질 수 있다.
[0085] 방법들, 디바이스들 및 시스템들의 다양한 실시예들이 머리-장착 디스플레이 디바이스들 또는 AR 디바이스들을 참조하여 본 개시내용 전반에 설명되지만, 이는 본 출원의 범위를 제한하는 것으로 의도되지 않으며, 단지 예시 목적들로 예들로 사용된다. 본원에 설명된 방법들 및 디바이스들은, 디바이스가 위치된 3D 환경을 매핑하고, 3D 환경을 통한 디바이스의 움직임들을 추적하기 위한, 본원에 설명된 방법들 및 디바이스들을 구현할 수 있는 다른 디바이스들, 이를테면, 로봇들, 디지털 카메라들 및 다른 자율 엔티티들에 적용 가능할 수 있다.
추가 양상들
[0086] 제1 양상에서, 환경 내의 이미지 캡처 디바이스의 포지션을 추정하기 위한 방법이 개시된다. 방법은: 제1 복수의 이미지 세그먼트들을 순차적으로 수신하는 단계 ― 제1 복수의 이미지 세그먼트들은 이미지 캡처 디바이스의 FOV(field of view)를 나타내는 이미지의 적어도 일부를 형성하고, FOV는 복수의 희소점들을 포함하는 이미지 캡처 디바이스 주변 환경의 일부를 포함하고, 각각의 희소점은 이미지 세그먼트들의 서브세트에 대응함 ― ; 제1 그룹의 희소점들을 식별하는 단계 ― 제1 그룹의 희소점들은, 제1 복수의 이미지 세그먼트들이 수신될 때 식별되는 하나 또는 그 초과의 희소점들을 포함함 ― ; 포지션 추정 시스템에 의해, 제1 그룹의 희소점들에 기반하여 환경 내의 이미지 캡처 디바이스의 포지션을 결정하는 단계; 제2 복수의 이미지 세그먼트들을 순차적으로 수신하고 ― 제2 복수의 이미지 세그먼트들은 제1 복수의 이미지 세그먼트들 이후에 수신됨 ― 이미지의 적어도 다른 부분을 형성하는 단계; 제2 그룹의 희소점들을 식별하는 단계 ― 제2 그룹의 희소점들은, 제2 복수의 이미지 세그먼트들이 수신될 때 식별되는 하나 또는 그 초과의 희소점들을 포함함 ― ; 및 포지션 추정 시스템에 의해, 제1 및 제2 그룹의 희소점들에 기반하여 환경 내의 이미지 캡처 디바이스의 포지션을 업데이트하는 단계를 포함한다.
[0087] 제2 양상에서, 양상 1의 방법에 있어서, 이미지 캡처 디바이스의 이미지 센서에서 복수의 이미지 세그먼트들을 순차적으로 캡처하는 단계를 더 포함한다.
[0088] 제3 양상에서, 양상들 1 또는 2의 방법에 있어서, 이미지 센서는 롤링 셔터 이미지 센서이다.
[0089] 제4 양상에서, 양상들 1-3 중 어느 한 양상의 방법에 있어서, 이미지 세그먼트들이 순차적으로 수신될 때, 제1 및 제2 복수의 이미지 세그먼트들을 버퍼에 저장하는 단계를 더 포함하고, 버퍼는 이미지 세그먼트들의 서브세트 내의 이미지 세그먼트들의 수에 대응하는 크기를 갖는다.
[0090] 제5 양상에서, 양상들 1-4 중 어느 한 양상의 방법에 있어서, 제1 및 제2 그룹의 희소점들을 포지션 추정 시스템으로 추출하는 단계를 더 포함한다.
[0091] 제6 양상에서, 양상들 1-5 중 어느 한 양상의 방법에 있어서, 제1 그룹의 희소점들은 다수의 희소점들을 포함한다.
[0092] 제7 양상에서, 양상 6의 방법에 있어서, 희소점들의 수는 10 내지 20개의 희소점들이다.
[0093] 제8 양상에서, 양상들 1-7 중 어느 한 양상의 방법에 있어서, 제2 그룹의 희소점들은 제2 개수의 희소점들을 포함한다.
[0094] 제9 양상에서, 양상들 1-8 중 어느 한 양상의 방법에 있어서, 상기 이미지 캡처 디바이스의 포지션을 업데이트하는 단계는 가장 최근에 식별된 희소점들의 수에 기반하며, 가장 최근에 식별된 희소점들은 제1 그룹, 제2 그룹, 또는 제1 그룹 및 제2 그룹 중 하나 또는 그 초과 중 적어도 하나이다.
[0095] 제10 양상에서, 양상 9의 방법에 있어서, 가장 최근에 식별된 희소점들의 수는 제1 그룹의 희소점들 내의 희소점들의 수와 동일하다.
[0096] 제11 양상에서, 양상들 1-10 중 어느 한 양상의 방법에 있어서, 포지션 추정 시스템은 V-SLAM(visual simultaneous localization and mapping)을 수행하도록 구성된다.
[0097] 제12 양상에서, 양상들 1-11 중 어느 한 양상의 방법에 있어서, 복수의 희소점들은 실세계 객체, 가상 이미지 엘리먼트 및 환경에 투영되는 비-가시적 표시자(non-visible indicator) 중 적어도 하나에 기반하여 추출된다.
[0098] 제13 양상에서, 환경 내의 이미지 캡처 디바이스의 포지션을 추정하기 위한 방법이 개시된다. 방법은: 복수의 이미지 세그먼트들을 순차적으로 수신하는 단계 ― 복수의 이미지 세그먼트들은 이미지 캡처 디바이스의 FOV(field of view)를 나타내는 이미지를 형성하고, FOV는 복수의 희소점들을 포함하는, 이미지 캡처 디바이스 주위의 환경의 일부를 포함하고, 각각의 희소점은 복수의 이미지 세그먼트들의 이미지 세그먼트들의 대응하는 서브세트에 부분적으로 기반하여 식별 가능함 ― ; 복수의 희소점들 중 하나 또는 그 초과의 희소점들에 대응하는 이미지 세그먼트들의 각각의 서브세트가 수신될 때, 하나 또는 그 초과의 희소점들을 순차적으로 식별하는 단계; 및 식별된 하나 또는 그 초과의 희소점들에 기반하여 환경에서 이미지 캡처 디바이스의 포지션을 추정하는 단계를 포함한다.
[0099] 제14 양상에서, 양상 13의 방법에 있어서, 복수의 이미지 세그먼트들을 순차적으로 수신하는 단계는 다수의 이미지 세그먼트들을 수신하고, 다수의 이미지 세그먼트들을 버퍼에 저장하는 단계를 더 포함한다.
[0100] 제15 양상에서, 양상들 13 또는 14의 방법에 있어서, 복수의 이미지 세그먼트들을 순차적으로 수신하는 단계는 적어도 제1 이미지 세그먼트 및 제2 이미지 세그먼트를 수신하는 단계를 포함하고, 제1 이미지 세그먼트는 버퍼에 저장된다.
[0101] 제16 양상에서, 양상들 13-15 중 어느 한 양상의 방법에 있어서, 제2 이미지 세그먼트를 수신할 때, 버퍼를 업데이트하는 단계; 제2 이미지 세그먼트를 버퍼에 저장하는 단계; 및 제2 이미지 세그먼트를 수신할 때, 제1 이미지 세그먼트를 제거하는 단계를 더 포함한다.
[0102] 제17 양상에서, 양상 16의 방법에 있어서, 하나 또는 그 초과의 희소점들을 순차적으로 식별하는 단계는, 버퍼가 업데이트될 때, 버퍼에 저장된 이미지 세그먼트들을 스캔하는 단계를 더 포함한다.
[0103] 제18 양상에서, 양상들 13-17 중 어느 한 양상의 방법에 있어서, 복수의 희소점들 중 하나 또는 그 초과의 희소점들에 대응하는 이미지 세그먼트들의 각각의 서브세트가 수신될 때, 복수의 희소점들 중 하나 또는 그 초과의 희소점들을 순차적으로 식별하는 단계는: 제1 그룹의 하나 또는 그 초과의 희소점들에 대응하는 제1 복수의 이미지 세그먼트들이 수신될 때, 하나 또는 그 초과의 제1 그룹의 희소점들을 순차적으로 식별하는 단계; 및 제2 그룹의 하나 또는 그 초과의 희소점들에 대응하는 제2 복수의 이미지 세그먼트들이 수신될 때, 하나 또는 그 초과의 제2 그룹의 희소점들을 순차적으로 식별하는 단계를 더 포함하고, 제2 복수의 이미지 세그먼트들은, 제1 복수의 이미지 세그먼트들 이후에 수신된다.
[0104] 제19 양상에서, 양상들 13-18 중 어느 한 양상의 방법에 있어서, 이미지 캡처 디바이스의 포지션을 추정하는 단계는 제1 그룹의 하나 또는 그 초과의 희소점들을 식별하는 것에 기반하고, 제1 그룹은 다수의 희소점들을 포함한다.
[0105] 제20 양상에서, 양상 19의 방법에 있어서, 희소점의 수는 2 내지 20이다.
[0106] 제21 양상에서, 양상 19의 방법에 있어서, 희소점들의 수는 10 내지 20이다.
[0107] 제22 양상에서, 양상들 13-21 중 어느 한 양상의 방법에 있어서, 제2 그룹의 하나 또는 그 초과의 희소점들을 식별하는 것에 기반하여 이미지 캡처 디바이스의 포지션을 업데이트하는 단계를 더 포함한다.
[0108] 제23 양상에서, 양상들 13-22 중 어느 한 양상의 방법에 있어서, 제2 그룹의 하나 또는 그 초과의 희소점들은 제2 개수의 희소점들을 포함한다.
[0109] 제24 양상에서, 양상들 13-23 중 어느 한 양상의 방법에 있어서, 다수의 순차적으로 식별된 희소점들을 식별하는 것에 기반하여, 이미지 캡처 디바이스의 포지션을 업데이트하는 단계를 더 포함한다.
[0110] 제25 양상에서, 양상 24의 방법에 있어서, 순차적으로 식별된 희소점들의 수는 희소점들의 수와 동일하다.
[0111] 제26 양상에서, 양상 24의 방법에 있어서, 순차적으로 식별된 희소점들의 수는 제1 그룹의 희소점들의 희소점들 중 적어도 하나를 포함한다.
[0112] 제27 양상에서, 양상들 13-26 중 어느 한 양상의 방법에 있어서, 복수의 희소점들은 실세계 객체, 가상 이미지 엘리먼트 및 환경으로 투영되는 비-가시적 표시자 중 적어도 하나에 기반하여 추출된다.
[0113] 제28 양상에서, 양상들 13-27 중 어느 한 양상의 방법에 있어서, 버퍼로부터 순차적으로 식별된 희소점들을 추출하는 단계; 및 순차적으로 식별된 희소점들을 VSLAM(visual simultaneous location and mapping) 시스템으로 전송하는 단계를 더 포함하고, VSLAM 시스템은 순차적으로 식별된 하나 또는 그 초과의 희소점들에 기반하여 이미지 캡처 디바이스의 포지션을 추정한다.
[0114] 제29 양상에서, 증강 현실(AR) 시스템이 개시된다. AR 시스템은 외향 이미징 디바이스, 컴퓨터 하드웨어, 및 컴퓨터 하드웨어 및 외향 이미징 디바이스에 동작 가능하게 커플링되고 양상들 1-28 중 어느 한 양상의 방법을 수행하기 위한 명령을 실행하도록 구성된 프로세서를 포함한다.
[0115] 제30 양상에서, 양상 29의 AR 시스템에 있어서, 외향 이미징 디바이스는 비-가시적 스펙트럼의 광을 검출하도록 구성된다.
[0116] 제31 양상에서, 양상들 29 또는 30의 AR 시스템에 있어서, AR 시스템은 하나 또는 그 초과의 가상 이미지 엘리먼트들을 디스플레이하도록 구성된다.
[0117] 제32 양상에서, 양상들 29-31 중 어느 한 양상의 AR 시스템에 있어서, AR 시스템의 추정된 포지션을 나타내는 식별 신호를 원격 AR 시스템으로 송신하도록 구성된 트랜시버를 더 포함하고, 원격 AR 시스템은 수신된 식별 신호에 기반하여 그의 추정된 포지션을 업데이트하도록 구성된다.
[0118] 제33 양상에서, 자율 엔티티가 개시된다. 자율 엔티티는 외향 이미징 디바이스, 컴퓨터 하드웨어, 및 컴퓨터 하드웨어 및 외향 이미징 디바이스에 동작 가능하게 커플링되고, 양상들 1-28 중 어느 한 양상의 방법을 수행하기 위한 명령을 실행하도록 구성된 프로세서를 포함한다.
[0119] 제34 양상에서, 양상 33의 자율 엔티티에 있어서, 외향 이미징 디바이스는 비-가시 스펙트럼의 광을 검출하도록 구성된다.
[0120] 제35 양상에서, 로봇 시스템이 개시된다. 로봇 시스템은 외향 이미징 디바이스, 컴퓨터 하드웨어, 및 컴퓨터 하드웨어 및 외향 이미징 디바이스에 동작 가능하게 커플링되고, 양상들 1-28 중 어느 한 양상의 방법을 수행하기 위한 명령을 실행하도록 구성된 프로세서를 포함한다.
[0121] 제36 양상에서, 환경에서 이미지 캡처 디바이스의 포지션을 추정하기 위한 이미지 캡처 디바이스가 개시된다. 이미지 캡처 디바이스는: 복수의 이미지 세그먼트들을 순차적으로 캡처하는 것을 통해 이미지를 캡처하도록 구성된 이미지 센서 ― 이미지는 이미지 캡처 디바이스의 FOV(field of view)를 나타내고, FOV는 복수의 희소점들을 포함하는, 이미지 캡처 디바이스 주위의 환경의 일부를 포함하고, 각각의 희소점은 복수의 이미지 세그먼트들의 대응하는 서브세트에 부분적으로 기반하여 식별 가능함 ― ; 하나 또는 그 초과의 희소점들에 대응하는 이미지 세그먼트들의 서브세트들을 저장하도록 구성된 메모리 회로; 메모리 회로에 동작 가능하게 결합되고, 복수의 희소점들 중 하나 또는 그 초과의 희소점들에 대응하는 이미지 세그먼트들의 각각의 서브세트가 수신될 때, 하나 또는 그 초과의 희소점들을 순차적으로 식별하고; 식별된 하나 또는 그 초과의 희소점들에 기반하여 환경에서 이미지 캡처 디바이스의 포지션을 추정하기 위해 순차적으로 식별된 하나 또는 그 초과의 희소점들을 추출하도록 구성된 컴퓨터 프로세서를 포함한다.
[0122] 제37 양상에서, 양상 36의 이미지 캡처 디바이스에 있어서, 순차적으로 식별된 하나 또는 그 초과의 희소점들을 수신하고, 식별된 하나 또는 그 초과의 희소점들에 기반하여 환경에서 이미지 캡처 디바이스의 포지션을 추정하도록 구성된 포지션 추정 시스템을 더 포함한다.
[0123] 제38 양상에서, 양상들 36 또는 37의 이미지 캡처 디바이스에 있어서, 포지션 추정 시스템은 VSLAM(visual simultaneous location and mapping) 시스템이다.
[0124] 제39 양상에서, 양상들 36-38 중 어느 한 양상의 이미지 캡처 디바이스에 있어서, 이미지 센서는 비-가시 스펙트럼 내의 광을 검출하도록 구성된다.
[0125] 제40 양상에서, 양상들 36-39 중 어느 한 양상의 이미지 캡처 디바이스에 있어서, 자신의 추정된 포지션을 나타내는 식별 신호를 원격 이미지 캡처 디바이스로 송신하도록 구성된 트랜시버를 더 포함하고, 원격 이미지 캡처 디바이스는 수신된 식별 신호에 기반하여 자신의 추정된 포지션을 업데이트하도록 구성된다.
다른 고려사항들
[0126] 본원에 설명되고 그리고/또는 첨부 도면들에 묘사된 프로세스들, 방법들 및 알고리즘들 각각은 하나 또는 그 초과의 물리적 컴퓨팅 시스템들, 하드웨어 컴퓨터 프로세서들, 주문형 회로 및/또는 특정 그리고 특별 컴퓨터 명령들을 실행하도록 구성된 전자 하드웨어에 의해 실행되는 코드 모듈들로 구현되고, 그리고 이 코드 모듈들에 의해 완전히 또는 부분적으로 자동화될 수 있다. 예컨대, 컴퓨팅 시스템들은 특정 컴퓨터 명령들로 프로그래밍된 범용 컴퓨터들(예컨대, 서버들) 또는 특수 목적 컴퓨터들, 특수 목적 회로 등을 포함할 수 있다. 코드 모듈은 실행가능 프로그램으로 컴파일링되고 링크되거나, 동적 링크 라이브러리에 설치될 수 있거나, 또는 인터프리팅(interpret)된 프로그래밍 언어로 작성될 수 있다. 일부 구현들에서, 특정 동작들 및 방법들은 주어진 기능에 특정한 회로에 의해 수행될 수 있다.
[0127] 추가로, 본 개시내용의 기능성의 소정 구현들은 충분히 수학적으로, 계산적으로 또는 기술적으로 복잡하여, (적절한 전문화된 실행가능 명령들을 활용하는) 주문형 하드웨어 또는 하나 또는 그 초과의 물리적 컴퓨팅 디바이스들 또는 특수화된 그래픽 프로세싱 유닛들은, 예컨대, 실질적으로 실시간으로 결과들, 예컨대, 포즈 추정 입력들을 제공하기 위하여 또는 수반되는 계산량 또는 계산의 복잡성으로 인해 그 기능성을 수행하는 데 필요할 수 있다. 예컨대, 비디오는 각각이 수백만개의 픽셀들을 갖는 많은 프레임들을 포함할 수 있으며, 상업적으로 적정한 시간량에서 원하는 이미지 프로세싱 태스크 또는 애플리케이션을 제공하기 위해 비디오 데이터를 처리하는 데 특수하게 프로그래밍된 컴퓨터 하드웨어가 필요하다.
[0128] 코드 모듈들 또는 임의의 타입의 데이터는 임의의 타입의 비-일시적 컴퓨터-판독가능 매체, 이를테면 하드 드라이브들, 고체 상태 메모리, RAM(random access memory), ROM(read only memory), 광학 디스크, 휘발성 또는 비-휘발성 저장부, 이들의 조합들 등을 포함하는 물리적 컴퓨터 저장부 상에 저장될 수 있다. 방법들 및 모듈들(또는 데이터)은 또한, 생성된 데이터 신호들로서(예컨대, 반송파 또는 다른 아날로그 또는 디지털 전파 신호의 일부로서) 무선 기반 및 유선/케이블 기반 매체들을 포함하는 다양한 컴퓨터-판독가능 송신 매체들 상에서 송신될 수 있고, 그리고 (예컨대, 단일 또는 멀티플렉싱 아날로그 신호의 일부로서, 또는 다수의 이산 디지털 패킷들 또는 프레임들로서) 다양한 형태들을 취할 수 있다. 개시된 프로세스들 또는 프로세스 단계들의 결과들은 임의의 타입의 비일시적, 유형의 컴퓨터 저장부에 영구적으로 또는 다른 방식으로 저장될 수 있거나 또는 컴퓨터-판독가능 송신 매체를 통해 통신될 수 있다.
[0129] 본원에 설명되고 그리고/또는 첨부 도면들에 묘사된 흐름도들에서의 임의의 프로세스들, 블록들, 상태들, 단계들, 또는 기능성들은 프로세스의 단계들 또는 (예컨대, 논리적 또는 산술적) 특정 기능들을 구현하기 위한 하나 또는 그 초과의 실행가능 명령들을 포함하는 코드 모듈들, 세그먼트들 또는 코드의 부분들을 잠재적으로 나타내는 것으로 이해되어야 한다. 다양한 프로세스들, 블록들, 상태들, 단계들 또는 기능성들은 본원에 제공된 예시적인 예들에서 조합되거나, 재배열되거나, 이들에 부가되거나, 이들로부터 삭제되거나, 수정되거나 다르게 변화될 수 있다. 일부 실시예들에서, 부가적인 또는 상이한 컴퓨팅 시스템들 또는 코드 모듈들은 본원에 설명된 기능성들 중 일부 또는 모두를 수행할 수 있다. 본원에 설명된 방법들 및 프로세스들은 또한 임의의 특정 시퀀스로 제한되지 않고, 이에 관련된 블록들, 단계들 또는 상태들은 적절한 다른 시퀀스들로, 예컨대 직렬로, 병렬로, 또는 일부 다른 방식으로 수행될 수 있다. 태스크들 또는 이벤트들은 개시된 예시적인 실시예들에 부가되거나 이들로부터 제거될 수 있다. 게다가, 본원에 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 예시 목적들을 위한 것이고 모든 구현들에서 그런 분리를 요구하는 것으로 이해되지 않아야 한다. 설명된 프로그램 컴포넌트들, 방법들 및 시스템들이 일반적으로 단일 컴퓨터 제품으로 함께 통합되거나 다수의 컴퓨터 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 많은 구현 변형들이 가능하다.
[0130] 프로세스들, 방법들 및 시스템들은 네트워크(또는 분산형) 컴퓨팅 환경에서 구현될 수 있다. 네트워크 환경들은 전사적 컴퓨터 네트워크들, 인트라넷들, LAN(local area network)들, WAN(wide area network)들, PAN(personal area network)들, 클라우드 컴퓨팅 네트워크들, 크라우드-소스드(crowd-sourced) 컴퓨팅 네트워크들, 인터넷, 및 월드 와이드 웹(World Wide Web)을 포함한다. 네트워크는 유선 또는 무선 네트워크 또는 임의의 다른 타입의 통신 네트워크일 수 있다.
[0131] 본 개시내용의 시스템들 및 방법들 각각은 몇몇 혁신적인 양상들을 가지며, 이 양상들 중 어떤 단일의 양상도 본원에 개시된 바람직한 속성들을 전적으로 담당하거나 이를 위해 요구되지 않는다. 위에서 설명된 다양한 특징들 및 프로세스들은 서로 독립적으로 사용될 수 있거나, 또는 다양한 방식들로 조합될 수 있다. 모든 가능한 조합들 및 서브조합들은 본 개시내용의 범위 내에 속하도록 의도된다. 본 개시내용에 설명된 구현들에 대한 다양한 수정들은 당업자들에게 자명할 수 있고, 그리고 본원에 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위를 벗어나지 않고 다른 구현들에 적용될 수 있다. 따라서, 청구항들은 본원에 도시된 구현들로 제한되는 것으로 의도되는 것이 아니라, 본원에 개시된 본 개시내용, 원리들 및 신규 특징들과 일치하는 가장 넓은 범위에 부합될 것이다.
[0132] 별개의 구현들의 맥락에서 본 명세서에 설명된 특정 특징들은 또한 단일 구현으로 결합하여 구현될 수 있다. 대조적으로, 단일 구현의 맥락에서 설명된 다양한 특징들은 또한 별도로 다수의 구현들로 또는 임의의 적절한 서브조합으로 구현될 수 있다. 게다가, 비록 특징들이 특정 조합들로 동작하는 것으로서 위에서 설명될 수 있고 심지어 그와 같이 처음에 청구될 수 있지만, 청구된 조합으로부터의 하나 또는 그 초과의 특징들은 일부 경우들에서 조합으로부터 제거될 수 있고, 그리고 청구된 조합은 서브조합 또는 서브조합의 변형에 관련될 수 있다. 단일 특징 또는 특징들의 그룹이 각각의 그리고 모든 각각의 실시예에 필요하거나 필수적인 것은 아니다.
[0133] 특정하게 다르게 언급되지 않거나, 사용된 맥락 내에서 다르게 이해되지 않으면, 본원에 사용된 조건어, 이를테면 특히, "할 수 있다(can, could, might, may)", "예컨대" 등은, 일반적으로 특정 실시예들이 특정 특징들, 엘리먼트들 또는 단계들을 포함하지만, 다른 실시예들은 이들을 포함하지 않는 것을 전달하기 위해 의도된다. 따라서, 그런 조건어는 일반적으로, 특징들, 엘리먼트들 및/또는 단계들이 하나 또는 그 초과의 실시예들을 위해 어떤 식으로든 요구되거나 또는 하나 또는 그 초과의 실시예들이, 저자(author) 입력 또는 프롬프팅으로 또는 이들 없이, 이들 특징들, 엘리먼트들 및/또는 단계들이 임의의 특정 실시예에 포함되는지 또는 임의의 특정 실시예에서 수행될지를 판정하기 위한 로직을 반드시 포함하는 것을 의미하도록 의도되지 않는다. 용어들 "포함하는(comprising)", "구비하는(including)", "가지는(having)" 등은 동의어이고 오픈-엔디드(open-ended) 방식으로 포괄적으로 사용되고, 그리고 부가적인 엘리먼트들, 특징들, 작용들, 동작들 등을 배제하지 않는다. 또한, 용어 "또는"은 그의 포괄적인 의미(및 그의 배타적 의미가 아님)로 사용되어, 예컨대 리스트의 엘리먼트들을 연결하기 위해 사용될 때, 용어 "또는"은 리스트 내 엘리먼트들 중 하나, 몇몇 또는 모두를 의미한다. 게다가, 본 출원 및 첨부된 청구항들에 사용된 단수 표현들은 다르게 특정되지 않으면 "하나 또는 그 초과" 또는 "적어도 하나"를 의미하는 것으로 이해될 것이다.
[0134] 본원에 사용된 바와 같이, 아이템들의 리스트 중 "적어도 하나"를 지칭하는 어구는 단일 부재들을 포함하여, 이들 아이템들의 임의의 조합을 지칭한다. 예로서, "A, B 또는 C 중 적어도 하나"는 "A; B; C; A 및 B; A 및 C; B 및 C; 및 A, B 및 C를 커버하도록 의도된다. 특정하게 다르게 언급되지 않으면, "X, Y 및 Z 중 적어도 하나"라는 어구와 같은 접속어는, 아이템, 용어 등이 X, Y 또는 Z 중 적어도 하나 일 수 있다는 것을 전달하기 위해 일반적으로 사용되는 맥락으로 달리 이해된다. 따라서, 그런 접속어는 일반적으로, 특정 실시예들이 X 중 적어도 하나, Y 중 적어도 하나 및 Z 중 적어도 하나가 각각 존재할 것을 요구하는 것을 의미하도록 의도되지 않는다.
[0135] 유사하게, 동작들이 특정 순서로 도면들에 묘사될 수 있지만, 원하는 결과들을 달성하기 위해, 그런 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되거나, 또는 모든 예시된 동작들이 수행될 필요가 없다는 것이 인식될 것이다. 추가로, 도면들은 흐름도 형태로 하나 또는 그 초과의 예시적 프로세스들을 개략적으로 묘사할 수 있다. 그러나, 묘사되지 않은 다른 동작들이 개략적으로 예시된 예시적인 방법들 및 프로세스들에 통합될 수 있다. 예컨대, 하나 또는 그 초과의 부가적인 동작들은 예시된 동작들 중 임의의 동작 이전, 이후, 동시에, 또는 중간에 수행될 수 있다. 부가적으로, 동작들은 다른 구현들에서 재배열되거나 재정렬될 수 있다. 소정의 환경들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 게다가, 위에서 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 그런 분리를 요구하는 것으로 이해되지 않아야 하고, 그리고 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품으로 함께 통합될 수 있거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 부가적으로, 다른 구현들은 다음 청구항들의 범위 내에 있다. 일부 경우들에서, 청구항들에 열거된 액션들은 상이한 순서로 수행될 수 있고 그럼에도 불구하고 원하는 결과들을 달성할 수 있다.

Claims (20)

  1. 이미징 시스템으로서,
    렌즈 및 이미지 센서를 포함하는 이미지 캡처 디바이스 ― 상기 렌즈는 상기 이미지 캡처 디바이스를 둘러싸는 환경으로부터의 광을 상기 이미지 센서로 지향시키록 구성되고, 상기 이미지 센서는:
    상기 환경으로부터의 광에 기반하여 이미지의 제1 복수의 이미지 세그먼트들을 순차적으로 캡처하고 ― 상기 이미지는 상기 이미지 캡처 디바이스의 FOV(field of view)를 나타내고, 상기 FOV는 상기 환경의 일부를 포함하고, 복수의 희소점들(sparse points)을 포함함 ― , 그리고
    제2 복수의 이미지 세그먼트들을 순차적으로 캡처하도록 구성되며, 상기 제2 복수의 이미지 세그먼트들은 상기 제1 복수의 이미지 세그먼트들 후에 캡처되고, 상기 이미지의 적어도 다른 부분을 형성함 ― ;
    상기 이미지 센서로부터 상기 제1 복수의 이미지 세그먼트들 및 제2 복수의 이미지 세그먼트들을 순차적으로 수신하고, 그리고 상기 환경 내의 상기 이미지 캡처 디바이스의 포지션 및 배향 중 적어도 하나를 추정하기 위한 명령들을 저장하도록 구성된 비-일시적인 데이터 저장소; 및
    상기 비-일시적인 데이터 저장소에 동작 가능하게 커플링되는 적어도 하나의 하드웨어 프로세서를 포함하고,
    상기 적어도 하나의 하드웨어 프로세서는, 상기 명령들에 의해, :
    상기 제1 복수의 이미지 세그먼트들의 대응하는 서브세트에 부분적으로 기반하여 제1 그룹의 희소점들을 식별하고 ― 상기 제1 복수의 이미지 세그먼트들로서 식별된 상기 제1 그룹의 희소점들은 상기 비-일시적인 데이터 저장소에서 수신됨 ― ,
    상기 제1 그룹의 희소점들에 기반하여 상기 환경 내의 상기 이미징 디바이스의 포지션 및 배향 중 적어도 하나를 결정하고,
    상기 제2 복수의 이미지 세그먼트들의 대응하는 서브세트에 부분적으로 기반하여 제2 그룹의 희소점들을 식별하고 ― 상기 제2 복수의 이미지 세그먼트들로서 식별된 상기 제2 그룹의 희소점들은 상기 비-일시적인 데이터 저장소에서 수신됨 ― , 그리고
    상기 제1 그룹의 희소점들 및 제2 그룹의 희소점들에 기반하여 상기 환경 내의 상기 이미징 디바이스의 포지션 및 배향 중 적어도 하나를 업데이트하도록 구성되는,
    이미징 시스템.
  2. 제1 항에 있어서,
    상기 이미지 센서는 롤링 셔터 이미지 센서(rolling shutter image sensor)인,
    이미징 시스템.
  3. 제1 항에 있어서,
    상기 비-일시적인 데이터 저장소는, 상기 이미지 세그먼트들이 상기 이미지 센서에 의해 캡처될 때, 상기 제1 복수의 이미지 세그먼트들 및 제2 복수의 이미지 세그먼트들을 순차적으로 수신하도록 구성된 비-일시적인 버퍼 저장소를 포함하고, 상기 비-일시적인 버퍼 저장소는 이미지 세그먼트들의 각각의 서브세트에 포함되는 이미지 세그먼트들의 수에 적어도 부분적으로 기반한 저장 용량을 갖는,
    이미징 시스템.
  4. 제1 항에 있어서,
    상기 제1 그룹의 희소점들 또는 상기 제2 그룹의 희소점들은 10 내지 20개의 희소점들의 다수의 희소점들을 포함하는,
    이미징 시스템.
  5. 제1 항에 있어서,
    상기 하드웨어 프로세서는 가장 최근에 식별된 희소점들의 수에 기반하여 상기 이미지 캡처 디바이스의 포지션 및 배향 중 적어도 하나를 업데이트하도록 구성되고, 상기 가장 최근에 식별된 희소점들은 상기 제1 그룹의 희소점들, 상기 제2 그룹의 희소점들, 및 상기 제1 그룹의 희소점들과 상기 제2 그룹의 희소점들 중 하나 또는 그 초과 중 적어도 하나를 포함하는,
    이미징 시스템.
  6. 제5 항에 있어서,
    상기 가장 최근에 식별된 희소점들의 수는 상기 제1 그룹의 희소점들 내의 희소점들의 수와 동일한,
    이미징 시스템.
  7. 제1 항에 있어서,
    상기 하드웨어 프로세서는 V-SLAM(visual simultaneous localization and mapping) 알고리즘을 수행하도록 구성되는,
    이미징 시스템.
  8. 제1 항에 있어서,
    상기 복수의 희소점들은 실세계 객체, 가상 이미지 엘리먼트, 및 상기 환경으로 투영되는 비-가시적 표시자 중 적어도 하나에 기반하여 식별되는,
    이미징 시스템.
  9. 사용자의 머리 상에 착용되도록 구성된 HDM(head mounted display)로서,
    프레임;
    상기 프레임에 의해 지지되고, 상기 사용자의 눈의 전방에 배치되는 디스플레이;
    상기 프레임 상에 배치되고, 렌즈 및 이미지 센서를 포함하는 외향 이미지 캡처 디바이스(outward facing image capture device) ― 상기 렌즈는 상기 HMD를 둘러싸는 환경으로부터의 광을 상기 이미지 센서로 지향시키록 구성되고, 상기 이미지 센서는 상기 환경으로부터의 광에 기반하여 이미지의 복수의 이미지 세그먼트들을 순차적으로 캡처하도록 구성되고, 상기 이미지는 상기 외향 이미지 캡처 디바이스의 FOV(field of view)를 나타내고, 상기 FOV는 상기 환경의 일부를 포함하고, 복수의 희소점들을 포함하고, 각각의 희소점은 상기 복수의 이미지 세그먼트들의 대응하는 서브세트에 부분적으로 기반하여 식별 가능함 ― ;
    상기 이미지 센서로부터 상기 복수의 이미지 세그먼트들을 순차적으로 수신하고, 그리고 상기 환경 내의 상기 HMD의 포지션 및 배향 중 적어도 하나를 추정하기 위한 명령들을 저장하도록 구성된 비-일시적인 데이터 저장소; 및
    상기 비-일시적인 데이터 저장소에 동작 가능하게 커플링된 적어도 하나의 하드웨어 프로세서를 포함하고,
    상기 적어도 하나의 하드웨어 프로세서는, 상기 명령들에 의해, :
    상기 복수의 희소점들의 하나 또는 그 초과의 희소점들에 대응하는 이미지 세그먼트들의 각각의 서브세트가 상기 비-일시적인 데이터 저장소에서 수신될 때, 상기 하나 또는 그 초과의 희소점들을 순차적으로 식별하고, 그리고
    상기 식별된 하나 또는 그 초과의 희소점들에 기반하여 상기 환경 내의 상기 HMD의 포지션 및 배향 중 적어도 하나를 추정하도록 구성되는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  10. 제9 항에 있어서,
    상기 비-일시적인 데이터 저장소는 원형 또는 롤링 버퍼를 포함하는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  11. 제9 항에 있어서,
    상기 복수의 이미지 세그먼트들은 적어도 제1 복수의 이미지 세그먼트들 및 제2 복수의 이미지 세그먼트들을 포함하고, 상기 이미지 센서는 상기 제1 이미지 세그먼트들 및 제2 이미지 세그먼트들을 상기 비-일시적인 데이터 저장소로 순차적으로 송신하도록 구성되는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  12. 제11 항에 있어서,
    상기 하드웨어 프로세서는:
    제1 그룹의 하나 또는 그 초과의 희소점들에 대응하는 상기 제1 복수의 이미지 세그먼트들이 수신될 때, 상기 제1 그룹의 하나 또는 그 초과의 희소점들을 순차적으로 식별하고; 그리고
    제2 그룹의 하나 또는 그 초과의 희소점들에 대응하는 상기 제2 복수의 이미지 세그먼트들이 수신될 때, 상기 제2 그룹의 하나 또는 그 초과의 희소점들을 순차적으로 식별하도록 구성되고,
    상기 제2 복수의 이미지 세그먼트들은 상기 제1 복수의 이미지 세그먼트들 후에 수신되는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  13. 제12 항에 있어서,
    상기 하드웨어 프로세서는 상기 식별된 제1 그룹의 하나 또는 그 초과의 희소점들에 기반하여 상기 HMD의 포지션 및 배향 중 적어도 하나를 추정하도록 구성되는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  14. 제13 항에 있어서,
    상기 제1 그룹의 희소점들 또는 상기 제2 그룹의 희소점들은 2 내지 20개의 희소점들을 포함하는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  15. 제13 항에 있어서,
    상기 제1 그룹의 희소점들 또는 상기 제2 그룹의 희소점들은 10 내지 20개의 희소점들을 포함하는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  16. 제13 항에 있어서,
    상기 하드웨어 프로세서는 상기 식별된 제2 그룹의 하나 또는 그 초과의 희소점들에 기반하여 상기 HMD의 포지션 및 배향 중 적어도 하나를 업데이트하도록 추가로 구성되는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  17. 제9 항에 있어서,
    상기 하드웨어 프로세서는, 다수의 순차적으로 식별된 하나 또는 그 초과의 희소점들이 식별될 때, 상기 HMD의 포지션 및 배향 중 적어도 하나를 업데이트하도록 추가로 구성되는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  18. 제17 항에 있어서,
    상기 다수의 순차적으로 식별된 하나 또는 그 초과의 희소점들은 상기 제1 그룹의 하나 또는 그 초과의 희소점들의 희소점들 중 적어도 하나를 포함하는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  19. 제9 항에 있어서,
    상기 복수의 희소점들은 실세계 객체, 가상 이미지 엘리먼트, 및 상기 환경으로 투영되는 비-가시적 표시자 중 적어도 하나에 기반하여 식별되는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
  20. 제9 항에 있어서,
    상기 하드웨어 프로세서는:
    상기 복수의 이미지 세그먼트들의 대응하는 서브세트로부터 상기 순차적으로 식별된 하나 또는 그 초과의 희소점들을 추출하고; 그리고
    상기 이미지 캡처 디바이스의 포지션 및 배향 중 적어도 하나를 추정하기 위해, 상기 순차적으로 식별된 하나 또는 그 초과의 희소점들에 대해 VSLAM(visual simultaneous location mapping) 알고리즘을 수행하도록 추가로 구성되는,
    사용자의 머리 상에 착용되도록 구성된 HDM.
KR1020197001409A 2016-06-30 2017-05-17 3d 공간에서의 포즈 추정 KR102296267B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217027177A KR20210107185A (ko) 2016-06-30 2017-05-17 3d 공간에서의 포즈 추정

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662357285P 2016-06-30 2016-06-30
US62/357,285 2016-06-30
PCT/US2017/033139 WO2018004863A1 (en) 2016-06-30 2017-05-17 Estimating pose in 3d space

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217027177A Division KR20210107185A (ko) 2016-06-30 2017-05-17 3d 공간에서의 포즈 추정

Publications (2)

Publication Number Publication Date
KR20190026762A true KR20190026762A (ko) 2019-03-13
KR102296267B1 KR102296267B1 (ko) 2021-08-30

Family

ID=60785196

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197001409A KR102296267B1 (ko) 2016-06-30 2017-05-17 3d 공간에서의 포즈 추정
KR1020217027177A KR20210107185A (ko) 2016-06-30 2017-05-17 3d 공간에서의 포즈 추정

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217027177A KR20210107185A (ko) 2016-06-30 2017-05-17 3d 공간에서의 포즈 추정

Country Status (10)

Country Link
US (3) US10163011B2 (ko)
EP (1) EP3479160A4 (ko)
JP (3) JP7011608B2 (ko)
KR (2) KR102296267B1 (ko)
CN (2) CN109643373B (ko)
AU (2) AU2017291131B2 (ko)
CA (1) CA3029541A1 (ko)
IL (2) IL280983B (ko)
NZ (1) NZ749449A (ko)
WO (1) WO2018004863A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3479160A4 (en) 2016-06-30 2020-03-25 Magic Leap, Inc. ESTIMATE OF THE POSE IN A 3D SPACE
CN108428242B (zh) * 2017-02-15 2022-02-08 宏达国际电子股份有限公司 图像处理装置及其方法
US10048753B1 (en) * 2017-04-20 2018-08-14 Robert C. Brooks Perspective or gaze based visual identification and location system
KR102432283B1 (ko) 2017-05-01 2022-08-11 매직 립, 인코포레이티드 콘텐츠를 공간 3d 환경에 매칭
US10621751B2 (en) * 2017-06-16 2020-04-14 Seiko Epson Corporation Information processing device and computer program
CN108229290B (zh) * 2017-07-26 2021-03-02 北京市商汤科技开发有限公司 视频物体分割方法和装置、电子设备、存储介质
US20190057180A1 (en) * 2017-08-18 2019-02-21 International Business Machines Corporation System and method for design optimization using augmented reality
EP3729382A4 (en) 2017-12-22 2021-01-20 Magic Leap, Inc. PROCESS AND SYSTEM FOR MANAGING AND DISPLAYING VIRTUAL CONTENT IN A MIXED REALITY SYSTEM
US10970425B2 (en) 2017-12-26 2021-04-06 Seiko Epson Corporation Object detection and tracking
US10453220B1 (en) 2017-12-29 2019-10-22 Perceive Corporation Machine-trained network for misalignment-insensitive depth perception
CN108227929B (zh) * 2018-01-15 2020-12-11 廖卫东 基于bim技术的增强现实放样系统及实现方法
EP4213104A1 (en) 2018-02-22 2023-07-19 Magic Leap, Inc. Browser for mixed reality systems
IL301281A (en) 2018-02-22 2023-05-01 Magic Leap Inc Shoot an object with physical manipulation
EP3803688A4 (en) 2018-06-05 2021-08-04 Magic Leap, Inc. MATCHING CONTENT WITH A 3D SPATIAL ENVIRONMENT
US10986270B2 (en) 2018-06-18 2021-04-20 Magic Leap, Inc. Augmented reality display with frame modulation functionality
WO2019246044A1 (en) 2018-06-18 2019-12-26 Magic Leap, Inc. Head-mounted display systems with power saving functionality
US11141645B2 (en) 2018-09-11 2021-10-12 Real Shot Inc. Athletic ball game using smart glasses
US11103763B2 (en) 2018-09-11 2021-08-31 Real Shot Inc. Basketball shooting game using smart glasses
WO2020069379A1 (en) * 2018-09-27 2020-04-02 Google Llc Training a deep neural network model to generate rich object-centric embeddings of robotic vision data
US10764558B2 (en) * 2018-09-27 2020-09-01 Valve Corporation Reduced bandwidth stereo distortion correction for fisheye lenses of head-mounted displays
US11544320B2 (en) * 2018-11-29 2023-01-03 Entigenlogic Llc Image processing utilizing an entigen construct
US11361511B2 (en) * 2019-01-24 2022-06-14 Htc Corporation Method, mixed reality system and recording medium for detecting real-world light source in mixed reality
US11386623B2 (en) 2019-04-03 2022-07-12 Magic Leap, Inc. Methods, systems, and computer program product for managing and displaying webpages in a virtual three-dimensional space with a mixed reality system
CN112013844B (zh) * 2019-05-31 2022-02-11 北京小米智能科技有限公司 建立室内环境地图的方法及装置
US10916062B1 (en) * 2019-07-15 2021-02-09 Google Llc 6-DoF tracking using visual cues
JP7327083B2 (ja) * 2019-10-30 2023-08-16 富士通株式会社 領域切り出し方法および領域切り出しプログラム
US11367212B2 (en) 2019-11-21 2022-06-21 Ford Global Technologies, Llc Vehicle pose detection with fiducial marker
CN112991414A (zh) * 2021-02-07 2021-06-18 浙江欣奕华智能科技有限公司 Vslam的特征点深度确认装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232727A1 (en) * 2007-05-22 2010-09-16 Metaio Gmbh Camera pose estimation apparatus and method for augmented reality imaging
US20160026253A1 (en) * 2014-03-11 2016-01-28 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1073936C (zh) * 1990-04-20 2001-10-31 佳能株式会社 一种记录装置
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US5670988A (en) 1995-09-05 1997-09-23 Interlink Electronics, Inc. Trigger operated electronic device
CN1650622B (zh) 2002-03-13 2012-09-05 图象公司 用于数字重新灌录或修改电影或其他图像序列数据的系统和方法
USD514570S1 (en) 2004-06-24 2006-02-07 Microsoft Corporation Region of a fingerprint scanning device with an illuminated ring
US7460730B2 (en) 2005-08-04 2008-12-02 Microsoft Corporation Video registration and image sequence stitching
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US7925049B2 (en) * 2006-08-15 2011-04-12 Sri International Stereo-based visual odometry method and system
JP4957807B2 (ja) * 2007-12-14 2012-06-20 富士通株式会社 移動物検知装置及び移動物検知プログラム
JP2011043419A (ja) * 2009-08-21 2011-03-03 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
US8345984B2 (en) 2010-01-28 2013-01-01 Nec Laboratories America, Inc. 3D convolutional neural networks for automatic human action recognition
JP2011192141A (ja) * 2010-03-16 2011-09-29 Sony Corp 動体検出装置と動体検出方法およびプログラム
JP2013141049A (ja) * 2010-03-24 2013-07-18 Hitachi Ltd 世界座標系データベースを利用したサーバ及び端末
EP2640059B1 (en) * 2010-11-11 2018-08-29 Panasonic Intellectual Property Corporation of America Image processing device, image processing method and program
US9304319B2 (en) 2010-11-18 2016-04-05 Microsoft Technology Licensing, Llc Automatic focus improvement for augmented reality displays
CN102129708A (zh) * 2010-12-10 2011-07-20 北京邮电大学 增强现实环境中快速多层次虚实遮挡处理方法
US10156722B2 (en) 2010-12-24 2018-12-18 Magic Leap, Inc. Methods and systems for displaying stereoscopy with a freeform optical system with addressable focus for virtual and augmented reality
NZ725592A (en) 2010-12-24 2018-05-25 Magic Leap Inc An ergonomic head mounted display device and optical system
RU2017118159A (ru) 2011-05-06 2018-10-30 Мэджик Лип, Инк. Мир массового одновременного удаленного цифрового присутствия
WO2013049861A1 (en) 2011-09-29 2013-04-04 Magic Leap, Inc. Tactile glove for human-computer interaction
CN106484115B (zh) 2011-10-28 2019-04-19 奇跃公司 用于增强和虚拟现实的系统和方法
CN107664847B (zh) 2011-11-23 2021-04-06 奇跃公司 三维虚拟和增强现实显示系统
NZ725322A (en) 2012-04-05 2017-12-22 Magic Leap Inc Wide-field of view (fov) imaging devices with active foveation capability
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
CN115494654A (zh) 2012-06-11 2022-12-20 奇跃公司 使用波导反射器阵列投射器的多深度平面三维显示器
CA2884663A1 (en) 2012-09-11 2014-03-20 Magic Leap, Inc. Ergonomic head mounted display device and optical system
US9996150B2 (en) * 2012-12-19 2018-06-12 Qualcomm Incorporated Enabling augmented reality using eye gaze tracking
CN108681065B (zh) 2013-01-15 2021-11-23 奇跃公司 超高分辨率扫描光纤显示器
US9503653B2 (en) * 2013-02-18 2016-11-22 Tsinghua University Method for determining attitude of star sensor based on rolling shutter imaging
IL308285A (en) 2013-03-11 2024-01-01 Magic Leap Inc System and method for augmentation and virtual reality
US9183746B2 (en) * 2013-03-12 2015-11-10 Xerox Corporation Single camera video-based speed enforcement system with a secondary auxiliary RGB traffic camera
WO2014160342A1 (en) 2013-03-13 2014-10-02 The University Of North Carolina At Chapel Hill Low latency stabilization for head-worn displays
NZ712192A (en) 2013-03-15 2018-11-30 Magic Leap Inc Display system and method
CN103247045B (zh) * 2013-04-18 2015-12-23 上海交通大学 一种从多视图中得到人造场景主方向及图像边缘的方法
US20140323148A1 (en) * 2013-04-30 2014-10-30 Qualcomm Incorporated Wide area localization from slam maps
US9874749B2 (en) * 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US20140380249A1 (en) 2013-06-25 2014-12-25 Apple Inc. Visual recognition of gestures
US9514571B2 (en) 2013-07-25 2016-12-06 Microsoft Technology Licensing, Llc Late stage reprojection
US9646384B2 (en) 2013-09-11 2017-05-09 Google Technology Holdings LLC 3D feature descriptors with camera pose information
WO2015036056A1 (en) * 2013-09-16 2015-03-19 Metaio Gmbh Method and system for determining a model of at least part of a real object
EP2851868A1 (en) * 2013-09-20 2015-03-25 ETH Zurich 3D Reconstruction
US9400930B2 (en) * 2013-09-27 2016-07-26 Qualcomm Incorporated Hybrid photo navigation and mapping
CA2927818C (en) 2013-10-16 2021-11-30 Magic Leap, Inc. Virtual or augmented reality headsets having adjustable interpupillary distance
US10175478B2 (en) 2014-05-30 2019-01-08 Magic Leap, Inc. Methods and systems for generating virtual content display with a virtual or augmented reality apparatus
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
IL291010B2 (en) 2013-11-27 2024-01-01 Magic Leap Inc Virtual and augmented reality systems and methods
KR102059311B1 (ko) * 2013-12-19 2019-12-24 애플 인크. 모바일 디바이스에서의 slam
US20150193971A1 (en) * 2014-01-03 2015-07-09 Motorola Mobility Llc Methods and Systems for Generating a Map including Sparse and Dense Mapping Information
CA3089749A1 (en) 2014-01-31 2015-08-06 Magic Leap, Inc. Multi-focal display system and method
WO2015117043A1 (en) 2014-01-31 2015-08-06 Magic Leap, Inc. Multi-focal display system and method
WO2015161307A1 (en) * 2014-04-18 2015-10-22 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9652893B2 (en) 2014-04-29 2017-05-16 Microsoft Technology Licensing, Llc Stabilization plane determination based on gaze location
WO2016018487A2 (en) 2014-05-09 2016-02-04 Eyefluene, Inc. Systems and methods for biomechanically-based eye signals for interacting with real and virtual objects
USD759657S1 (en) 2014-05-19 2016-06-21 Microsoft Corporation Connector with illumination region
USD752529S1 (en) 2014-06-09 2016-03-29 Comcast Cable Communications, Llc Electronic housing with illuminated region
US10484697B2 (en) * 2014-09-09 2019-11-19 Qualcomm Incorporated Simultaneous localization and mapping for video coding
US9940533B2 (en) 2014-09-30 2018-04-10 Qualcomm Incorporated Scanning window for isolating pixel values in hardware for computer vision operations
CN104463842A (zh) * 2014-10-23 2015-03-25 燕山大学 一种基于运动视觉的车祸过程重现方法
GB2532194A (en) 2014-11-04 2016-05-18 Nokia Technologies Oy A method and an apparatus for automatic segmentation of an object
USD758367S1 (en) 2015-05-14 2016-06-07 Magic Leap, Inc. Virtual reality headset
USD805734S1 (en) 2016-03-04 2017-12-26 Nike, Inc. Shirt
USD794288S1 (en) 2016-03-11 2017-08-15 Nike, Inc. Shoe with illuminable sole light sequence
EP3479160A4 (en) 2016-06-30 2020-03-25 Magic Leap, Inc. ESTIMATE OF THE POSE IN A 3D SPACE

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232727A1 (en) * 2007-05-22 2010-09-16 Metaio Gmbh Camera pose estimation apparatus and method for augmented reality imaging
US20130335529A1 (en) * 2007-05-22 2013-12-19 Metaio Gmbh Camera pose estimation apparatus and method for augmented reality imaging
US20160026253A1 (en) * 2014-03-11 2016-01-28 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality

Also Published As

Publication number Publication date
KR102296267B1 (ko) 2021-08-30
JP2023175052A (ja) 2023-12-08
AU2017291131A1 (en) 2019-01-17
WO2018004863A1 (en) 2018-01-04
EP3479160A1 (en) 2019-05-08
US11765339B2 (en) 2023-09-19
CN116777994A (zh) 2023-09-19
AU2017291131B2 (en) 2022-03-31
CA3029541A1 (en) 2018-01-04
IL280983B (en) 2022-07-01
JP2019522851A (ja) 2019-08-15
US10163011B2 (en) 2018-12-25
JP7011608B2 (ja) 2022-01-26
NZ749449A (en) 2023-06-30
IL280983A (en) 2021-04-29
AU2022204584A1 (en) 2022-07-21
EP3479160A4 (en) 2020-03-25
CN109643373A (zh) 2019-04-16
IL263872A (en) 2019-01-31
US20180005034A1 (en) 2018-01-04
US11200420B2 (en) 2021-12-14
JP2022051761A (ja) 2022-04-01
CN109643373B (zh) 2023-06-27
KR20210107185A (ko) 2021-08-31
IL263872B (en) 2021-02-28
US20220101004A1 (en) 2022-03-31
US20190087659A1 (en) 2019-03-21

Similar Documents

Publication Publication Date Title
KR102296267B1 (ko) 3d 공간에서의 포즈 추정
US10628675B2 (en) Skeleton detection and tracking via client-server communication
US10855936B2 (en) Skeleton-based effects and background replacement
CN108139204B (zh) 信息处理装置、位置和/或姿态的估计方法及记录介质
US9855496B2 (en) Stereo video for gaming
US20180227482A1 (en) Scene-aware selection of filters and effects for visual digital media content
JP6456347B2 (ja) 平面固有の特徴のターゲットのinsitu生成
US10863210B2 (en) Client-server communication for live filtering in a camera view
KR20170031733A (ko) 디스플레이를 위한 캡처된 이미지의 시각을 조정하는 기술들
US10838515B1 (en) Tracking using controller cameras
CN109453517B (zh) 虚拟角色控制方法和装置、存储介质、移动终端
CN113168532A (zh) 目标检测方法、装置、无人机及计算机可读存储介质

Legal Events

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