KR20210013655A - 장치 위치 측정을 위한 다중 동기화 통합 모델 - Google Patents

장치 위치 측정을 위한 다중 동기화 통합 모델 Download PDF

Info

Publication number
KR20210013655A
KR20210013655A KR1020217002633A KR20217002633A KR20210013655A KR 20210013655 A KR20210013655 A KR 20210013655A KR 1020217002633 A KR1020217002633 A KR 1020217002633A KR 20217002633 A KR20217002633 A KR 20217002633A KR 20210013655 A KR20210013655 A KR 20210013655A
Authority
KR
South Korea
Prior art keywords
model
location
location measurement
models
score
Prior art date
Application number
KR1020217002633A
Other languages
English (en)
Other versions
KR102338560B1 (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 KR1020217040226A priority Critical patent/KR102612347B1/ko
Publication of KR20210013655A publication Critical patent/KR20210013655A/ko
Application granted granted Critical
Publication of KR102338560B1 publication Critical patent/KR102338560B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • 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
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/485Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an optical system or imaging system
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality
    • 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/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Automation & Control Theory (AREA)
  • Processing Or Creating Images (AREA)
  • Navigation (AREA)
  • Image Analysis (AREA)

Abstract

시스템 및 방법은 장치의 위치를 결정한다. 장치는 하나 이상의 센서를 사용하여 센서 데이터를 수집합니다. 센서 데이터에 기초하여, 하나 이상의 위치 측정 모델이 복수의 위치 측정 모델에서 선택된다. 선택한 모델이 적용되어 하나 이상의 잠재적 위치를 생성한다. 장치의 현재 위치는 하나 이상의 잠재적 위치를 기초로 결정된다.

Description

장치 위치 측정을 위한 다중 동기화 통합 모델
본 발명은 일반적으로 위치 결정에 관한 것으로, 특히 장치 위치를 결정하기 위해 센서 데이터를 사용하는 것에 관한 것이다.
컴퓨터 매개 현실 기술은 핸드 헬드 또는 웨어러블 장치를 가진 사용자가 장치를 통해 경험하는 것처럼 자신의 환경에 대한 시각적 또는 청각적 인식을 변경할 수 있도록 한다. 증강 현실(AR)은 컴퓨팅 장치에서 생성된 감각 입력을 사용하여 물리적, 현실 세계 환경에 대한 실시간 인식을 특별히 변경하는 컴퓨터 매개 현실의 한 유형이다. AR 기술은 현실 세계 환경의 시각화 내에서 특정 위치에 있는 가상 객체와 같이, 가상 객체가 현실 세계 환경의 몰입적인 측면으로 보이도록 하는 하나 이상의 증강이 포함된 사용자의 현실 세계 환경을 시각화하는 것을 포함하여 컴퓨터 매개 현실을 제공할 수 있다.
특정 실시예에 따르면, 방법은 컴퓨터 매개 현실 데이터를 생성하는 단계를 포함하며, 상기 방법은 클라이언트 장치에서 3 차원(3-D) 맵 데이터 및 카메라 위치 데이터를 생성하는 단계; 3-D 맵 데이터 및 클라이언트 데이터를 원격 서버로 전송하는 단계; 원격 서버로부터 클라이언트 장치에서 세계 맵 데이터를 수신하는 단계- 상기 세계 맵 데이터는 3 -D 맵 데이터를 사용하여 생성됨; 및 클라이언트 장치에서 컴퓨터 매개 현실 이미지를 생성하는 단계를 포함한다.
다른 특정 실시 예에 따르면, 증강 현실 엔진은 휴대용 컴퓨터에서 실행되는 로컬에 저장된 애니메이션 엔진을 포함하고, 상기 애니메이션 엔진은 휴대용 컴퓨터에 통합된 카메라에 의해 생성된 디지털 이미지 스트림을 수신하는 제1 입력 - 상기 디지털 이미지는 상기 카메라가 보는 환경의 실시간에 가까운 뷰를 보기를 나타냄; 상기 휴대용 컴퓨터에 통합된 지리적 위치 확인 시스템으로부터 위치 정보를 수신하는 제2 입력; 상기 제1 입력 및 제2 입력을 수신하고 특정 시점에서의 카메라 위치와 하나 이상의 매핑 포인트 사이의 거리를 추정하는 3D 매핑 엔진; 컴퓨터 생성 이미지와 중첩된 카메라에 의해 생성된 디지털 이미지 스트림을 포함하는 출력 - 상기 컴퓨터 생성 이미지는 3D맵의 특정 위치에 위치해 있으며 사용자가 카메라를 공간의 다른 위치로 이동함에 따라 특정 위치에 계속 위치함; 및 로컬에 저장된 애니메이션 엔진과 네트워크 통신하는 비-로컬에 저장된 객체 검출 엔진;을 포함하는 3-D 매핑 엔진; 로컬에 저장된 애니메이션 엔진으로부터 수신된 제1 입력으로서, 카메라에 의해 생성된 디지털 이미지 스트림으로부터의 디지털 이미지를 포함하는 제1 입력; 로컬에 저장된 애니메이션 엔진으로부터 수신된 제2 입력으로서, 로컬에 저장된 애니메이션 엔진으로부터 수신된 디지털 이미지와 관련된 지리적 위치 위치를 포함하는 제2 입력을 포함한다.
다양한 실시예에서, 장치는 센서 데이터(예를 들어, 이미지, 오디오, GPS (Global Positioning System) 데이터, Wi-Fi 가용성 데이터, 방향 및 모션 데이터(예를 들어, 자이로스코프, 가속도계, 관성 측정 장치(IMU) 등을 통해), 조명 레벨, 소음 레벨, 압력 데이터 등을 수집한다. 센서 데이터를 기초로 장치는 장치의 위치를 결정하기 위해 하나 이상의 위치 측정 모델을 선택한다. 선택된 하나 이상의 모델은 장치에 대한 하나 이상의 잠재적 위치를 결정하기 위해 센서 데이터에 적용되고 장치의 현재 위치는 하나 이상의 잠재적 위치로부터 결정된다. 둘 이상의 잠재적 위치가 있는 경우, 현재 위치는 잠재적 위치 중 하나 또는 기타 적절한 기술을 선택하여 잠재적 위치의 평균 또는 가중 평균으로 결정될 수 있다. 일부 실시예에서, 하나 이상의 모델 및/또는 하나 이상의 잠재적 위치의 선택은 어떤 하나 이상의 모델이 이전에 유사한 위치에서 사용되었는지에 기초할 수 있다. 둘 이상의 위치는 일반적인 지리적 근접성 및/또는 센서 데이터(예를 들어, 실내 대 실외, 저조도 대 고조도 등)에 기초한 하나 이상의 센서 데이터 또는 결정에서의 유사성에 기초하여 유사한 것으로 간주될 수 있다.
본 발명의 다른 이점이 본 명세서에 설명된다.
도 1은 증강 현실 데이터를 생성하고 디스플레이하기 위한 네트워크 컴퓨팅 환경의 실시예를 도시한다.
도 2는 일 실시예에 따라 증강 현실 데이터를 생성하고 디스플레이하기 위해 도 1의 컴퓨팅 시스템에 의해 실행 가능한 프로세스를 예시하는 흐름도이다.
도 3은 일 실시예에 따른, 도 1의 네트워킹된 컴퓨팅 환경에서 사용하기에 적합한 예시적인 컴퓨터 시스템을 예시하는 블록도이다.
도 4는 일 실시예에 따른, 장치의 위치를 결정하기 위한 방법을 예시하는 흐름도이다.
시스템 및 방법은 3 차원(3-D) 맵을 생성하고 3-D 맵을 사용하여 증강 현실(AR)을 가능하게 한다. 일 실시예에서, 3-D 맵은 1cm의 해상도를 갖지만, 가변 해상도의 맵을 포함하여 다른 해상도의 맵이 사용될 수 있다. 다양한 실시예에서, 맵 생성은 이전에 컴파일된 이미지 및 매핑 정보를 클라이언트 장치에 제공하는 백엔드 서버와 쌍을 이루는 클라이언트 측에서(예를 들어, 이동 전화 또는 헤드셋에 의해) 달성된다.
일 실시예에서, 시스템은 클라이언트 측(예를 들어, 핸드 헬드 또는 착용된 전자 컴퓨팅 장치에서)에서 이미지 및 글로벌 포지셔닝 시스템(GPS, Global Positioning System) 좌표를 선택하고 선택된 데이터를 3-D 맵과 쌍을 이룬다. 3-D 맵은 카메라 녹화 모듈과 가속도계 및/또는 자이로스코프를 포함할 수 있는 관성 측정 장치(IMU)로 구성된다. 선택한 데이터가 서버로 전송된다. 서버와 클라이언트 측 컴퓨팅 장치는 선택된 데이터를 함께 처리하여 AR의 객체와 지오메트리(geometry)를 설정하고 AR에서 가상 또는 기타 객체 간의 잠재적 상호 작용을 결정한다. 예를 들어, 증강 현실은 현실 세계의 방일 수 있고, 예를 들어 게임을 하기 위해 서로 상호 작용할 수 있는 하나 이상의 애니메이션 가상 객체를 포함할 수 있다.
선택된 데이터와 3차원 맵을 이용하여 시스템은 신경망을 이용하여 객체 감지 및 지오메트리 추정을 수행하여 AR을 제공할 수 있다. 신경망의 예로는 기계 학습을 위해 연결된 유닛(인공 뉴런)의 대규모 모음을 사용하는 계산 모델이 있다. 유닛은 소프트웨어로 연결되며 유닛에 결합된 입력 신호가 충분히 크면 유닛이 자체 출력 신호를 발생시킨다. 따라서 인공 신경망은 생물학적 신경망을 모방하여 작업을 수행하는 방법을 학습한다. 시스템은(예를 들어, 앞서 언급 한 객체 감지 및 지오메트리 추정 작업을 위해) AR 데이터를 맥락적으로 이해하기 위해 심층 학습(예: 다층 신경망)을 사용한다.
일부 실시예에서, 시스템은(예를 들어, 다수의 로컬 3-D 맵을 함께 링크함으로써) 하나 이상의 글로벌 3-D 맵을 생성하기 위해 로컬 3-D 맵을 통합한다. 통합된 3-D 맵은 서버에서 글로벌 3-D 맵으로 결합되어 환경 또는 "세계"에 대한 단일 디지털 3-D 맵을 생성한다. 예를 들어, 미리 결정된 임계 값 내에서 일치하는 부분을 포함하는 유사한 GPS 좌표에 대해 하나 이상의 장치에 의해 생성된 다중 로컬 3-D 맵이 중첩되도록 결정될 수 있다. 따라서 중첩된 부분을 사용하여 두 개의 로컬 3-D 맵을 함께 연결할 수 있다. 글로벌 3-D 맵은 특정 GPS 좌표에서 가상 물체의 위치를 저장하는데 사용되며 3-D 포인트를 통해 추가 색인화되고 시각적 이미지가 특정 3-D 위치(예: 오차 한계가 1 피트)까지 내려간다. 예를 들어, "세계"가 집이라면 다양한 방의 다양한 로컬 3-D 맵이 집 전체의 내부를 나타내는 단일 글로벌 3-D 맵으로 결합될 수 있다.
예시적인 프로세스는 서버와 맵 데이터를 전송한다. 본 명세서에 설명된 바와 같이, 3-D 맵은 3-D 픽셀(또는 "복셀")과 유사한 방식으로 세계 또는 세계의 일부를 나타내는 공간의 3-D 포인트 모음이다. 사용 가능하고 유용한 경우(예: 아직 3-D 맵에 통합되지 않은 위치에 대한 이미지 데이터로 결정된 경우) 이미지 데이터가 3-D 맵과 함께 전송 될 수 있다. 특정 실시예는 이미지 데이터 없이 3-D 맵 데이터를 전송한다.
다양한 실시예에서, 클라이언트 장치는 프로세서에 의해 실행되는 3-D 알고리즘을 사용하여 3-D 맵을 생성한다. 클라이언트 장치는 이미지, 3-D 맵 및 GPS 데이터를 효율적으로 보낸다. 예를 들어, 이미지는 전송 또는 처리에 지장을 주지 않도록 선택적으로 전송될 수 있다. 일 실시예에서, 이미지는 클라이언트 장치의 카메라가 새로운 시점을 가질 때 선택적으로 전송 될 수 있지만(예를 들어, 이미지에 의해 캡처된 공간이 서버의 하나 이상의 이미지에 이미 포함되지 않았거나 서버의 이러한 이미지가 임계 시간보다 더 오래된 경우) 현재 시점에 대해 하나 이상의 이미지가 이미 제공된 경우에는 해당되지 않는다. 예를 들어, 이미지는 카메라의 시야가 과거 또는 최근 카메라 포즈의 이전 이미지와 최소한의(예: 임계 값 미만) 중첩이 있는 경우, 또는 객체의 예상 움직임에 따라 일정 시간 동안 시점이 관찰되지 않은 경우, 알고리즘에 의해 전송되도록 지정된다. 다른 예로서, 현재(또는 실질적으로 중첩되는) 시점의 이전 이미지가 제공된 이후 임계 시간 이상이 경과하면 이미지가 제공 될 수 있다. 이것은 맵과 연관된 저장된 이미지가 실제 위치의 현재(또는 적어도 최근) 상태를 반영하도록 업데이트되도록할 수 있다.
다양한 실시예에서, 서버 장치는 객체를 감지하고 실제 환경의 지오메트리를 추정하기 위해 3-D 데이터 및 이미지에 기초한 실시간 감지 시스템을 포함한다. 예를 들어, 실사적이지 않은 방의 3-D 맵(예: 반 밀도 및/또는 밀도가 높은 3-D 재구성)은 방이 특정 해상도 또는 세부 수준으로 3-D 맵 내에서 완전히 표현되도록 클라이언트 장치에서 캡처한 이미지로 결정할 수 있다.
서버는 실시간 감지 시스템을 사용하여 이미지, 3-D 데이터 및/또는 GPS 데이터를 융합하여 일관되고 쉽게 색인된 세계의 3-D 맵인 합성 현실 세계 맵을 구축한다. 저장되면 현실 세계 맵을 검색하여 이전에 저장된 실제 객체 및/또는 가상 객체를 세계의 3-D 맵의 특정 위치에서 찾을 수 있다.
다양한 실시예에서, 매핑(새로운 3-D 맵 데이터의 생성) 및 추적(클라이언트 장치를 포함하는 객체의 위치 측정)은 클라이언트 측에서 수행된다. 현실 세계를 기준으로 한 카메라의 위치와 함께 현실 세계의 희소 디지털 재구성이 수집된다. 매핑은 포인트 클라우드 생성 또는 3-D 포인트 수집을 포함된다. 시스템은 GPS 데이터와 함께 포인트 클라우드 정보를 직렬화하고 전송하여 희소 표현을 서버에 다시 전달한다. 클라우드 처리를 통해 둘 이상의 클라이언트 장치 간에 멀티 플레이어 기능(실시간에 가까운 독립 클라이언트 장치간에 맵 데이터 공유)이 작동하는 물리적 메모리(장치에 로컬로 저장되지 않는 향후 AR 경험을 위한 맵 및 가상 객체 데이터 저장) 및 객체 감지 기능을 사용할 수 있다. 예를 들어,
서버는 3 D 맵 및 이미지의 데이터베이스를 포함한다. 서버는 GPS 데이터를 사용하여 좌표에 대해 3-D 맵이 이전에 저장되었는지 확인한다. 찾은 경우 저장된 3-D 맵이 클라이언트 장치로 다시 전송된다. 예를 들어, 집 위치에 있는 사용자는 집 위치와 관련된 이전에 저장된 데이터를 수신할 수 있다. 또한 저장된 합성 세계 3-D 맵에 3-D 맵과 이미지 데이터를 추가할 수 있다.
도 1은 일 실시예에 따른 네트워크(104)를 통해 액세스되는 클라우드 서버 요소와 협력하는 클라이언트 장치(102)를 포함하는 AR 컴퓨팅 시스템의 블록도이다. 예를 들어, 클라우드 서버 요소는 AR 데이터를 생성하도록 구성된 서버 장치의 구성 요소일 수 있다. 도시된 실시예에서, 클라이언트 장치(102)는 AR 플랫폼(108)뿐만 아니라 게임 엔진(106)(예를 들어, Unity 게임 엔진 또는 다른 물리/렌더링 엔진)을 포함한다. AR 플랫폼(108)은 분할 및 객체 인식을 수행할 수 있다. 도 1에 도시된 AR 플랫폼(108)은 클라이언트 측 이미지 처리(이미지 분할 및 로컬 3-D 추정 등 포함)를 실행하는 복합 컴퓨터 비전 모듈(110)을 포함한다.
복합 컴퓨터 비전 모듈(110)은 클라이언트 장치의 카메라로부터의 픽셀 데이터뿐만 아니라 관성 측정 장치와 같은 클라이언트 장치의 다른 센서로부터의 센서 데이터를 수집한다. 복합 컴퓨터 비전 모듈(110)은 수집된 데이터를 사용하여 특징 벡터를 생성한다. 복합 컴퓨터 비전 모듈(110)은 픽셀 데이터에 대해 특징 추출을 수행하고, 센서 데이터 및/또는 픽셀 데이터를 기반으로 카메라의 위치 및 시점을 삼각 측량하고, 추출된 특징에 대해 특징 매칭을 수행하여 특징 벡터를 생성하고, 카메라 시점의 PnP(Perspective-n-Point) 추정과 시점에 있는 객체가 무엇인지 제공한다. 아래에서 설명하는 바와 같이, 상황에 따라 서로 다른 모델을 사용하여 동시 위치 측정 및 매핑을 수행할 수 있다.
AR 플랫폼(108)은 또한 위치 측정 및 매핑 모듈(112)을 포함한다. 일 실시예에서, 위치 측정 및 매핑 모듈(112)은 동시 위치 측정 및 매핑(SLAM) 소프트웨어 개발 키트(SDK)의 기능을 사용한다. SLAM SDK 기능에는 현실 세계 지오메트리를 근사화하기 위한 포인트 클라우드, 라인 클라우드, 평면 클라우드 또는 기타 지오메트리 클라우드를 구축하는 매핑 시스템이 포함되어 있으며 3 차원 공간에서 카메라의 현재 위치를 찾는 추적 기능을 제공한다. SLAM은 추가 프로젝트 애니메이션 또는 증강된 값(예: 가상 객체)을 AR로 처리하여 실제 단어처럼 보이도록 한다. 다른 실시예에서, 위치 측정 및 매핑 모듈(112)은 클라이언트 장치(102) 주변의 환경을 매핑하고/하거나 그 환경에서 클라이언트 장치의 위치를 결정하기 위해 상이하거나 추가적인 접근법을 사용할 수 있다.
위치 측정 및 매핑 모듈(112)은 클라이언트 장치(102)의 현재 위치를 결정하기 위해 이용 가능한 다중 모델을 가질 수 있다. 일 실시예에서, 모델은 아웃렛 매칭 모델, 가로등 매칭 모델, 트리 매칭, 텍스트 매칭 모델(예: 빌보드 또는 도로 표지판 용) 또는 현실 세계 객체를 가상 근사치에 매칭하기 위한 기타 모델과 같은 객체 및/또는 시맨틱(semantic) 매칭 모델뿐만 아니라, 포인트 클라우드 기반 모델(예를 들어, SLAM에 의해 제공됨), 평면 매칭 모델, 라인 매칭 모델, 지리 정보 시스템(GIS, geographic information system) 모델, 건물 인식 모델, 풍경 인식 모델, 큐브 매칭 모델, 실린더 매칭 모델, 수평선 매칭 모델, 광원 매칭 모델 등을 포함할 수 있다. 다른 실시예에서, 상이한 또는 추가 모델이 위치 측정 및 매핑 모듈(112)에 이용 가능할 수 있다.
포인트 클라우드 모델은 현실 세계에서 객체 표면의 위치에 대응하는 가상 세계의 위치에 위치한 일련의 포인트로서 물리적 공간을 나타낸다. 예를 들어, 벽은 벽에 분포된 점들의 집합으로 표현 될 수 있다. 주어진 포인트 클라우드 모델은 크고 평평한 표면(예: 벽)에 상대적으로 적은 수의 포인트를 포함하는 동시에 더 복잡한 물체(예: 식물, 가구 등) 주위에 더 밀도가 높은 포인트 클러스터를 포함하는 등 물리적 공간을 나타내기 위해 동적으로 할당되는 고정된 수의 포인트가 포함될 수 있다. 일부 실시예에서, 위치 측정 및 매핑 모듈(112)은 다양한 해상도 및 스케일로 이용 가능한 다중 포인트 클라우드 모델을 갖는다. 따라서 예를 들어 사용자의 위치 근처에있는 물체는 멀리있는 물체보다 고해상도 포인트 클라우드로 표현 될 수 있다. 포인트 클라우드 모델은 장치에 의해 생성된 센서 데이터(예를 들어, 카메라 이미지)를 포인트 클라우드를 기초로 생성된 다른 위치에 대한 예상 센서 판독 값과 일치시켜 장치의 위치를 결정한다.
평면 매칭 모델은 현실 세계에서 크고 비교적 평평한 표면에 대응하는 위치에서 가상의 평면 세트로서 물리적 공간을 나타낸다. 예를 들어, 방의 바닥, 벽 및 테이블 상판은 각각 평면 매칭 모델에서 평면으로 다시 표현 될 수 있다. 평면 매칭 모델은 장치에 의해 생성된 센서 데이터(예: 카메라 이미지)에서 식별된 평면을 모델의 평면에 매칭함으로써 장치의 위치를 결정한다.
라인 매칭 모델은 가상 세계의 라인을 현실 세계의 라인에 해당하는 위치에 정의한다는 점을 제외하면 평면 매칭 모델과 유사하다. 예를 들어, 라인은 가구의 가장자리, 두 벽 사이의 결합 등이 될 수 있다. 라인 매칭 모델은 장치에서 생성된 센서 데이터(예: 카메라 이미지)에서 식별된 라인을 모델의 라인에 일치시켜 장치의 위치를 결정한다.
지리 정보 시스템(GIS) 모델은 픽셀 데이터를 위성 이미지 데이터에 매칭한다. GIS 모델은 시점의 수평선에서 감지된 물체를 기초로 시점을 추정한다.
수평선에 있는 물체의 크기와 스케일은 픽셀 데이터(예: 너비 및/또는 높이의 픽셀 수)를 기초로 GIS 모델에 의해 추정된다. 그런 다음 GIS 모델은 GIS 모델이 시점의 수평선에 있을 것으로 예상하는 위성 이미지 데이터에 포함된 개체에 추정된 개체를 일치시킨다. 이것은 하나 이상의 수학적 변환 및/또는 기계 학습된 모델(예를 들어, 심층 신경망)을 위성 이미지 데이터 및/또는 픽셀 데이터에 적용함으로써 수행될 수 있다. 매칭된 객체에 기초하여, GIS 모델은 픽셀 데이터를 생성한 카메라의 가능한 시점을 식별하고, 확장하여 클라이언트 장치(102)를 식별한다.
다른 객체 및/또는 시맨틱 매칭 모델(트리 인식 모델과 같은)뿐만 아니라 빌딩 인식 모델은 픽셀 데이터를 인식하도록 훈련된 객체 또는 의미론에 매칭한다. 예를 들어, 건물 인식 모델은 양성 사례로 라벨이 지정된 건물 이미지와 음성 사례로 라벨이 지정된 다른 물체의 이미지로 구성된 훈련 데이터 세트를 기반으로 건물을 인식하도록 훈련된 기계 학습 모델일 수 있다. 훈련시 건물 인식 모델은 픽셀 데이터(예: 이미지)에 건물이 포함되는지 여부를 예측할 수 있다. 유사하게, 모델은 도로 표지판, 나무, 벤치 등과 같이 이미지에 존재할 수 있는 다양한 객체를 인식하도록 훈련될 수 있다.
이용 가능한 모델 세트에 관계없이, 클라이언트 장치(102)는 수집된 원시 데이터에 기초하여 위치 측정을 위한 모델 중 하나 이상을 선택한다. 예를 들어, 평면 및 라인 일치 모델은 실내에서 가장 정확한 반면, 조경 및 건물 모델은 실외에서 가장 정확할 수 있다. 따라서, 수집된 데이터(예를 들어, 조명 레벨 및 이미지)는 클라이언트 장치(102)가 현재 실내에 있는지 아니면 실외에 있는지를 결정한 다음 더 효과적인 모델을 선택하기 위해 위치 측정 및 매핑 모듈(112)에 의해 분석될 수 있다.
일 실시예에서, 각 모델에는 모델이 현재 상황(예를 들어, 수집된 데이터에 의해 표시됨)에 기초하여 클라이언트 장치에 대한 정확한 위치를 생성할 가능성을 나타내는 점수가 할당된다. 점수는 의사 결정 트리에 기초할 수 있으며, 의사 결정 트리의 매개변수는 수동으로 설정된다. 대안적으로, 점수는 상이한 AR 맵 유형으로부터 상이한 모델의 입력 및 매개 변수를 사용하여 강화 학습으로 훈련된 기계 학습 모델에 기초할 수 있으며, 여기서 강화 "보상"은 모델 성능, 예를 들어 위치 추정 정확도에 비례한다.
점수에 기초하여 모델 또는 복수의 모델이 선택된다. 예를 들어, 클라이언트 장치(102)는 최고 점수를 가진 모델, 3 개의 최고 점수 모델, 또는 임계 값 이상의 점수를 가진 모든 모델을 선택할 수 있다. 추가적으로 또는 대안적으로, 선택은 유사한 위치에서 이전에 선택된 모델을 기초로 할 수 있다. 예를 들어, 클라이언트 장치(102)에 대한 GPS 좌표가 평면 매칭 모델이 이전에 성공적으로 사용된 GPS 좌표의 임계 값 내에 있는 경우, 다른 모델의 점수가 평면 일치 모델의 점수를 임계 값만큼 초과 경우가 아니면 평면 매칭 모델의 점수가 상승될 수 있거나, 평면 매칭 모델이 선택 될 수 있다. 유사하게, 특정 모델이 이전에 선택되어 정확한 위치를 제공하지 못한 경우 해당 모델의 점수가 낮아질 수 있다. 따라서, 유사한 GPS 좌표에서 모델의 성공 및 실패는 클라이언트 장치(102)가 GPS 좌표에 의해 제공되는 것보다 더 정확한 위치를 결정하기 위해 선택하는 모델(예를 들어, 1 센티미터 이내)을 알리는 데 사용될 수 있다.
유사한 방식으로, 클라이언트 장치(102)는 수집된 데이터가 현재 위치와 유사 함을 나타내는 위치에서 모델의 성공 및 실패를 고려할 수 있다. 예를 들어, 위치는 실내 또는 실외로 분류될 수 있고, 수집된 데이터가 클라이언트 장치(102)가 실내 또는 실외임을 나타내는지 여부에 기초하여 특정 모델이 배제되거나 선택될 수 있다(또는 해당 점수가 증가 또는 감소). 수집된 데이터는 특징적으로 실내 또는 실외에있는 객체에 대한 모델을 사용하여 실내 또는 실외에서 수집되었는지 여부를 결정하기 위해 하나 이상의 모델(예를 들어, 객체 인식 모델)에 의해 분석 될 수 있다. 예를 들어 나무, 하늘 및 잔디에 대한 모델을 사용하여 데이터가 실외에서 수집되었는지 확인하고 벽, 소파 및 테이블에 대한 모델을 사용하여 데이터가 실내에서 수집되었는지 확인한다.
유사하게, 선택된 모델(들)은 조명 레벨을 기반으로 할 수 있다. 예를 들어, 하나의 모델(예를 들어, 라인 클라우드)은 저조도 조건에서 다른 모델에 비해 특히 효과적일 수 있으므로 클라이언트 장치(102)에 의해 감지된 조명 레벨이 임계 값 미만인 경우 우선적으로 선택될 수 있다. 마찬가지로, 다른 모델(예: 포인트 맵)은 저조도 조건에서 덜 효과적 일 수 있으므로 피할 수 있다(다른 모델을 사용할 수 있다고 가정). 실시예에 따라, 현재 조건에서 정확한 결과를 도출할 가능성이 가장 높은 모델을 선택하기 위해 어떤 모델 또는 모델이 선택되는지에 영향을 미치는 수집된 데이터에 대한 다른 기술이 사용될 수 있다.
위치 측정 및 매핑 모듈(112)은 클라이언트 장치(102)에 대한 잠재적 위치를 생성하기 위해 선택된 하나 이상의 모델을 적용할 수 있다. 단일 모델 만 선택한 경우 생성된 위치를 클라이언트 장치(102)의 실제 위치로 사용할 수 있다. 단, GPS 좌표가있는 경우 모델을 사용하여 결정된 위치가 GPS 좌표와 임계 값 이상 차이가 나는 경우, 클라이언트 장치(102)는 추가 모델을 적용하거나 그렇지 않으면 사용자에게 위치 추정치가 정확한지 확인하도록 요청하는 메시지를 표시하고 수신된 응답에 기초하여 위치 추정치를 업데이트함으로써 현재 위치를 검증하려고 할 수 있다.
하나 이상의 모델이 선택되는 경우, 각각의 선택된 모델은 클라이언트 장치(102)의 잠재적 위치를 생성할 수 있다. 위치 측정 및 매핑 모듈(112)은 하나 이상의 선택된 모델의 누적 잠재적 위치에 기초하여 클라이언트 장치(102)에 대한 현재 위치를 결정한다. 일 실시예에서, 현재 위치는 선택된 모델에 의해 생성된 잠재적 위치의 평균으로서 계산된다. 다른 실시예에서, 잠재적 위치의 가중 평균이 사용된다. 예를 들어, 각 모델의 기여도는 모델 선택 단계의 점수에 의해 가중치가 부여 될 수 있다. 대안 적으로, 가중치는 예를 들어, 과거 정확도에 기초하여 특정 모델을 다른 모델보다 선호하도록 미리 설정 될 수 있다. 추가 실시예에서, 잠재적 위치는 장치의 GPS 좌표와 가장 근접하게 일치하는 위치를 취하는 것과 같은 다른 방식으로 결합될 수 있다.
도 1에 도시된 실시예에서, 클라이언트 컴퓨팅 장치(102)는 또한 맵 검색 모듈(114) 및 딥 러닝 모듈(116)을 포함한다. 맵 검색 모듈(114)은(예를 들어, 네트워크(104)를 통해) 이전에 생성된 3-D 맵을 검색한다. 일부 실시예에서, 맵 검색 모듈(114)은 일부 3-D 맵(예를 들어, 사용자의 집 위치에 대한 3-D 맵)을 로컬로 저장할 수 있다. 딥 러닝 모듈(116)은 객체 인식을 위해 머신 러닝 알고리즘을 적용한다. 딥 러닝 모듈(116)은 네트워크(104)를 통해 훈련된 기계 학습 알고리즘을 획득할 수 있다. 일부 실시예에서, 딥 러닝 모듈(116)은 또한 추가 모델 훈련을 가능하게 하기 위해 객체 인식 및/또는 사용자 피드백의 결과를 제공할 수 있다.
도시된 실시예에서, (예를 들어, 서버 컴퓨팅 장치에서) 네트워크(104)를 통해 액세스된 클라우드 서버 요소는 하나의 세계 매핑 모듈(120)과 통신하는 AR 백엔드 엔진(118), 객체 인식 및 의미론적 분할 모듈(122), 맵 데이터베이스(124), 객체 데이터베이스(126) 및 딥 러닝 훈련 모듈(128)을 포함한다. 다른 실시예에서, 추가 또는 상이한 구성 요소가 포함될 수 있다. 또한, 기능은 여기에 설명된 것과 다르게 배포될 수 있다. 예를 들어, 객체 인식 기능의 일부 또는 전부가 클라이언트 장치(102)에서 수행될 수 있다.
AR 백엔드 엔진은 클라이언트 장치(102)로부터 데이터를 수신하고 클라이언트 장치(102)에 3-D 맵 정보 및/또는 다른 데이터를 전송한다. AR 백엔드 엔진은 수신된 데이터가 더 가공될 수 있도록 수신된 데이터의 유형에 기초하여 하나의 세계 매핑 모듈(120) 및/또는 객체 인식 및 의미론적 분할 모듈(122)로 수신된 데이터를 전송한다.
하나의 세계 매핑 모듈(120)은 합성 현실 세계 맵을 생성하기 위해 서로 다른 로컬 3-D 맵을 융합한다. 앞서 언급 한 바와 같이, 처음에 맵을 생성한 클라이언트 장치(102)로부터의 GPS 위치 데이터는 인접하거나 겹칠 가능성이 있는 로컬 맵을 식별하는 데 사용될 수 있다. 패턴 매칭은 맵의 겹치는 부분을 식별하거나 2 개의 로컬 맵이 서로 인접해 있다는 것을 식별하는 데 사용 될 수 있다(예를 들어, 동일한 객체의 반대 측면의 표현을 포함하기 때문에). 두 개의 로컬 맵이 겹치거나 인접한 것으로 결정되면, 두 맵이 서로 어떻게 관련되는지를 나타내는 매핑이 (예를 들어, 맵 데이터베이스에) 저장될 수 있다.
객체 인식 및 의미론적 분할 모듈(122)은 이미지 및/또는 객체 정보 및 수집된 3-D 데이터를 사용하여 현실 세계의 특징을 식별한다. 이러한 방식으로, 서버(104)는 예를 들어, 의자가 한 3-D 위치에 있고 그 위치와 연관된 객체 데이터베이스(126)에 액세스한다고 결정한다. 딥 러닝 훈련 모듈(128)은 맵 정보를 객체 정보와 융합하는 데 사용될 수 있으며, 예를 들어 객체의 표현을 3-D 맵에 표시된 위치에서 3-D 맵에 추가할 수 있다. 이러한 방식으로, 시스템(100)은 객체 인식 및 융합을 위한 3-D 정보를 다시 3-D 맵으로 연결할 수 있다. 대안적으로 또는 추가적으로, 딥 러닝 훈련 모듈(128)은 객체 인식을 위해 기계 학습 모델을 훈련하거나 업데이트하는데 사용될 수 있다. 예를 들어, 객체 인식 및 의미론적 분할 모듈(122)을 3 차원 데이터에 적용한 결과는(예를 들어, 인간에 의해) 검증될 수 있으며, 딥 러닝 훈련 모듈(128)은 훈련 데이터 세트를 확장하거나 검증에 기초하여 모델을 업데이트할 수 있다.
맵 데이터베이스(124)는 클라이언트 장치(102)에 의해 생성된 맵 데이터를 저장하도록 구성된 하나 이상의 컴퓨터 판독 가능 매체를 포함한다. 맵 데이터는 한 위치에서 클라이언트 장치(102)에 의해 수집된 이미지 및 다른 센서 데이터와 관련하여 저장된 3-D 포인트 클라우드의 로컬 맵을 포함할 수 있다. 맵 데이터는 또한 서로 다른 로컬 맵 간의 지리적 관계를 나타내는 매핑 정보를 포함할 수 있다. 유사하게, 객체 데이터베이스(126)는 인식된 객체에 대한 정보를 저장하도록 구성된 하나 이상의 컴퓨터 판독 가능 매체를 포함한다. 예를 들어, 객체 데이터베이스(126)는 알려진 객체(예를 들어, 의자, 책상, 나무, 건물 등)의 목록을 해당 객체의 속성과 함께 해당 위치와 함께 포함할 수 있다. 속성은 객체 유형에 일반적이거나 객체의 각 인스턴스에 대해 특별히 정의될 수 있다(예: 모든 의자는 가구로 간주될 수 있지만 각 의자의 위치는 개별적으로 정의됨). 맵 데이터베이스(124) 및 객체 데이터베이스(126)가 단일 엔티티로 도시되어 있지만, 이들은 다중 장치(예를 들어, 분산 데이터베이스)에서 다중 저장 매체에 걸쳐 분산될 수 있거나 하나의 결합된 데이터베이스일 수 있다.
도 2는 일 실시예에 따라 AR 데이터를 생성 및 디스플레이하기 위해 클라이언트 장치(102) 및 서버 장치에 의해 실행되는 프로세스를 보여주는 흐름도이다. 클라이언트(102) 및 서버 컴퓨팅 장치는 도 1에 도시된 것과 유사할 수 있다. 점선은 클라이언트(102)와 서버 간의 데이터 통신을 나타내고 실선은 장치 중 하나 내의 데이터 통신을 나타낸다. 다른 실시예에서, 기능은 장치간에 다르게 분산 될 수 있고/있거나 다른 장치가 사용될 수 있다.
202에서, 원시 데이터는 하나 이상의 센서에 의해 클라이언트 장치에서 수집된다. 일 실시예에서, 원시 데이터는 이미지 및 관성 측정 정보를 포함한다.
이미지는 하나 이상의 카메라로 캡처된다. 관성 측정 정보는 클라이언트 장치 또는 클라이언트 장치에 통신적으로 연결된 다른 장치의 GPS 및 자이로스코프 및/또는 가속도계 구성 요소를 사용하여 수집될 수 있다. 대안적인 실시예에서 압력 레벨, 조명 레벨, 사운드 레벨, 오디오 데이터 등과 같은 추가적인 원시 데이터가 수집될 수 있다.
클라이언트 장치(102)는 204에서 로컬 맵 저장소를 유지할 수 있다. 로컬 맵 저장소에는 로컬 포인트 클라우드 데이터가 포함된다. 포인트 클라우드 데이터는 포인트 클라우드 데이터가 한 위치에 있는 하나 이상의 객체를 나타내도록 구성할 수 있는 메쉬(mesh) 표면을 형성하는 공간의 위치로 구성된다.
3-D 맵이 206에서 초기화되면, 클라이언트 장치(102)는 208에서 SLAM 기능을 시작할 수 있다. SLAM 기능에는 포인트 클라우드를 구축하는 매핑 시스템과 공간에서 카메라의 위치를 찾거나 방향을 지정하는 추적 기능이 포함된다. SLAM은 프로젝트 가상 객체를 처리하여 AR 경험에서 실제 단어처럼 보이도록 한다. 206에서 초기화된 3-D 맵이 없는 경우, 클라이언트 장치(102)는 로컬 맵 저장소(204)에서 또는 클라우드 맵 저장소(220)에 대한 쿼리에 의해 저장된 3-D 맵을 식별하고, 사용을 위해 저장된 3-D 맵을 로드할 수 있다. 210에서 맵이 없으면 시스템은 초기화 모듈을 사용하여 212에 맵을 생성한다.
214에서 새로운 시점이 감지되는 경우(예: 모서리를 매핑/촬영되지 않은 영역으로 전환하거나 중첩이 있고 현실 세계의 현재 보이는 부분이 모두 매핑되지 않은 경우/이미지화 됨), 시스템은(예를 들어, 객체 인식을 사용하여) 로컬 환경에 대해 수집 및/또는 추론된 데이터를 216에서 기록할 수 있다.
예를 들어, 클라이언트 장치(102)가 현재 새로운 시점을 가지고 있다고 결정하면, 그 시점을 갖는 카메라에 의해 캡처된 이미지는 클라이언트 장치(102)에 의해 서버로 전송 될 수 있다. 클라이언트 장치(102)는 3-D 데이터로 이미지를 전송하는 시기와 방법을 결정하기 위해 새로운 시점 검출기를 사용할 수 있다. 로컬 환경 추론은 로컬 매핑 시스템 및 직렬화된 이미지 및/또는 맵 데이터에 대한 업데이트된 키 프레임을 포함할 수 있다.
서버 측에서, 새로운 시점 데이터(예를 들어, 메쉬 데이터를 갖는 포인트 클라우드 정보를 포함함)는 클라우드 맵 저장소의 218에 저장 될 수 있다. 서버는 저장된 클라우드 맵 저장소(220) 및 객체 데이터베이스(222)로부터 현실 세계 맵의 다른 부분을 전술한 바와 같이 기계 학습을 사용하여 인식된 객체에 대한 라벨과 같은 새로운 시점 데이터에 추가할 수 있다. 클라우드 환경 추론(224)(추가된 데이터, 예를 들어 인식된 객체에 대한 의미론적 라벨을 포함함)은 클라이언트 장치(102)로 다시 전송 될 수 있다. 추가된 데이터는 포인트 및 메쉬 및 객체 데이터를 포함할 수 있으며, 로컬 맵 저장소(204)에 저장되도록 전송 될 수 있다.
도 3은 클라이언트 장치(102) 또는 서버로서 사용하기에 적합한 예시적인 컴퓨터(300)를 예시하는 하이-레벨(high-level) 블록도이다. 예시적인 컴퓨터(300)는 칩셋(304)에 연결된 적어도 하나의 프로세서(302)를 포함한다. 칩셋(304)은 메모리 제어기 허브(320) 및 입력/출력(I/O) 제어기 허브(322)를 포함한다. 메모리(306) 및 그래픽 어댑터(312)는 메모리 제어기 허브(320)에 연결되고, 디스플레이(318)는 그래픽 어댑터(312)에 연결된다. 저장 장치(308), 키보드(310), 포인팅 장치(314) 및 네트워크 어댑터(316)는 I/O 제어기 허브(322)에 연결된다. 컴퓨터(300)의 다른 실시예는 상이한 아키텍처를 갖는다.
도 3에 도시된 실시예에서, 저장 장치(308)는 하드 드라이브, CD-ROM(compact disk read-only memory), DVD 또는 반도체 기억 장치와 같은 비 일시적 컴퓨터 판독 가능 저장 매체이다. 메모리(306)는 프로세서(302)에 의해 사용되는 명령어 및 데이터를 보유한다. 포인팅 장치(314)는 마우스, 트랙볼, 터치 스크린 또는 다른 유형의 포인팅 장치이며, 데이터를 컴퓨터 시스템(300) 내에 입력하기 위해 키보드(310)(이는 온-스크린 키보드일 수 있음)와 조합하여 사용된다. 그래픽 어댑터(312)는 디스플레이(318)에 이미지 및 기타 정보를 디스플레이한다. 네트워크 어댑터(316)는 컴퓨터 시스템(300)을 하나 이상의 컴퓨터 네트워크에 연결한다.
도 1의 엔티티에 의해 사용되는 컴퓨터의 유형은 엔티티에 의해 요구되는 처리 능력 및 실시예에 따라 달라질 수 있다. 예를 들어 서버에는 설명된 기능을 제공하기 위해 함께 작동하는 여러 블레이드 서버로 구성된 분산 데이터베이스 시스템이 포함될 수 있다. 더욱이, 컴퓨터는 키보드(310), 그래픽 어댑터(312) 및 디스플레이(318)와 같은 위에서 설명된 일부 구성 요소가 부족할 수 있다.
도 4는 장치의 위치를 결정하기 위한 방법(400)의 일 실시예를 도시한다. 도 4의 단계는 방법(400)을 수행하는 클라이언트 장치(102)의 관점에서 예시된다. 그러나 일부 또는 모든 단계는 다른 엔티티 또는 구성 요소에 의해 수행 될 수 있다. 또한, 일부 실시예는 단계를 병렬로 수행하거나, 단계를 다른 순서로 수행하거나, 또는 다른 단계를 수행할 수 있다.
도 4에 도시된 실시예에서, 방법(400)은 하나 이상의 센서를 사용하여 클라이언트 장치(102)가 센서 데이터를 수집(410)하는 것으로 시작한다. 센서 데이터는 이미지, 비디오, 오디오, 광 레벨, 사운드 레벨, 관성 데이터, 방향, 압력 및/또는 센서로부터의 기타 이용 가능한 데이터를 포함할 수 있다. 센서 데이터에 기초하여, 클라이언트 장치(102)는 하나 이상의 위치 측정 모델(420)을 선택한다. 전술한 바와 같이, 선택된 모델 또는 모델은 모델에 할당된 점수를 기반으로 할 수 있으며, 여기서 점수는 센서 데이터 및/또는 특정 위치 또는 환경에서의 과거 성능과 같은 추가 요인을 기초로 한다.
클라이언트 장치(102)는 클라이언트 장치에 대한 잠재적 위치를 생성하기 위해 선택된 위치 측정 모델을 적용(430)한다. 일 실시예에서, 각 모델은 잠재적 위치를 출력한다. 잠재적 위치는(예를 들어, 클라이언트 장치(102)의 GPS 좌표에 기초하여 선택된 바와 같이) 로컬 맵 내의 좌표 시스템에 기초하여 정의될 수 있다. 예를 들어, GPS 좌표는 클라이언트 장치(102)가 건물 내 어딘가에 있을 가능성이 있으므로 해당 건물에 대한 로컬 맵이 사용됨을 나타낼 수 있다. 선택된 모델은 건물 내 클라이언트 장치(102)의 보다 정확한 위치를 결정하기 위해 적용된다(예를 들어, 1cm의 정밀도를 목표로 함).
클라이언트 장치(102)는 잠재적 위치에 기초하여 현재 위치를 결정(440)한다. 하나의 모델 만 선택한 경우 생성되는 잠재적 위치가 올바른 것으로 간주될 수 있다. 또는 사용 가능한 센서 데이터를 기반으로 잠재적 위치를 확인할 수 있다(예를 들어, GPS 좌표로 표시된 위치의 임계 거리 내에 있는지, 감지된 조명 레벨이 잠재적 위치에 대한 예상과 일치하는지, 클라이언트 장치(102)에 의해 캡처된 이미지가 유사한 위치에서 캡처된 다른 이미지와 일치하는지 등). 둘 이상의 모델을 선택한 경우 잠재적 위치를 결합하여 현재 위치를 생성할 수 있다. 전술한 바와 같이, 평균, 가중 조합, 또는 다른 적절한 기술이 잠재적 위치로부터 현재 위치를 생성하기 위해 사용될 수 있다.
당업자는, 설명된 개념으로부터 벗어나지 않고서, 본원에 개시된 장치 및 기법의 다양한 사용 및 수정을 행할 수 있고, 그들로부터의 이탈을 행할 수 있다. 예를 들어, 본 개시내용에서 예시되거나 설명된 컴포넌트 및 특징부는 예시되거나 설명된 위치, 설정, 또는 문맥에 제한되지 않는다. 본 개시내용에 따른 장치의 예는, 선행 도면 중 하나 이상을 참조하여 설명된 컴포넌트에 대해 모든, 더 적은 또는 상이한 컴포넌트를 포함할 수 있다. 따라서, 본 개시내용은 본원에 설명된 특정 구현예로 제한되는 것이 아니라, 오히려, 첨부된 청구범위 및 그의 등가물과 일치하는 가능한 최광의의 범주에 따라야 한다.
청구 가능한 기술적 사상 및 추가적인 개시에는 다음이 포함되지만 이에 국한되지는 않는다.

Claims (20)

  1. 장치의 위치를 결정하는 방법으로서, 상기 방법은:
    하나 이상의 센서를 사용하여 센서 데이터를 수집하는 단계;
    상기 센서 데이터에 기초하여, 복수의 위치 측정 모델로부터 하나 이상의 위치 측정 모델을 선택하는 단계;
    상기 장치의 하나 이상의 잠재적 위치를 생성하기 위하여 선택된 하나 이상의 위치 측정 모델을 적용하는 단계; 및
    상기 하나 이상의 잠재적 위치에 기초하여 상기 장치의 위치를 결정하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 센서 데이터는 카메라에 의해 캡처된 이미지를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 복수의 위치 측정 모델은 포인트 클라우드 기반 모델, 평면 매칭 모델, 라인 매칭 모델, 지리 정보 시스템(GIS) 모델, 건물 인식 모델, 객체 인식 모델, 시맨틱 매칭 모델, 큐브 매칭 모델, 실린더 매칭 모델, 수평선 매칭 모델, 광원 매칭 모델 및 풍경 인식 모델 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 선택된 하나 이상의 위치 측정 모델을 적용하는 단계는 복수의 잠재적 위치를 생성하기 위하여 복수의 위치 측정 모델을 적용하는 단계를 포함하고, 각각의 적용된 위치 측정 모델은 상기 복수의 잠재적 위치 중 하나를 생성하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 장치의 위치를 결정하는 단계는 상기 복수의 잠재적 위치의 평균 위치를 계산하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 평균은 가중 평균인 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    하나 이상의 위치 측정 모델을 선택하는 단계는:
    상기 장치가 현재 실내 또는 실외에 있는지 결정하는 단계; 및
    상기 장치가 현재 실내 또는 실외에 있는지에 기초하여 상기 위치 측정 모델의 하위 집합을 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 하나 이상의 위치 측정 모델을 선택하는 단계는:
    각 위치 측정 모델에 점수를 할당하는 단계; 및
    상기 점수에 기초하여 상기 하나 이상의 위치 측정 모델을 선택하는 단계를 포함하되,
    위치 측정 모델에 대한 점수는 정확한 위치를 생성할 가능성을 나타내는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 점수는 유사한 환경에 대한 상기 모델의 과거 성능에 기초하는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 점수는 상기 센서 데이터에 기초하는 것을 특징으로 하는 방법.
  11. 하나 이상의 프로세서; 및 하나 이상의 컴퓨터 판독 가능 매체를 포함하는 장치로서,
    상기 하나 이상의 컴퓨터 판독 가능 매체는 상기 하나 이상의 프로세서에 의해 수행될 때 컴퓨터 장치로 하여금 동작들을 수행하게 하는 명령어를 저장하고, 상기 동작은:
    하나 이상의 센서를 사용하여 센서 데이터를 수집하는 단계;
    상기 센서 데이터에 기초하여, 복수의 위치 측정 모델로부터 하나 이상의 위치 측정 모델을 선택하는 단계;
    상기 장치의 하나 이상의 잠재적 위치를 생성하기 위하여 선택된 하나 이상의 위치 측정 모델을 적용하는 단계; 및
    상기 하나 이상의 잠재적 위치에 기초하여 상기 장치의 위치를 결정하는 단계를 포함하는 장치.
  12. 제11항에 있어서,
    상기 센서 데이터는 카메라에 의해 캡처된 이미지를 포함하는 것을 특징으로 하는 장치.
  13. 제11항에 있어서,
    상기 복수의 위치 측정 모델은 포인트 클라우드 기반 모델, 평면 매칭 모델, 라인 매칭 모델, 지리 정보 시스템 (GIS) 모델, 건물 인식 모델, 객체 인식 모델, 시맨틱 매칭 모델, 큐브 매칭 모델, 실린더 매칭 모델, 수평선 매칭 모델, 광원 매칭 모델 및 풍경 인식 모델 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  14. 제11항에 있어서,
    상기 선택된 하나 이상의 위치 측정 모델을 적용하는 단계는 복수의 잠재적 위치를 생성하기 위하여 복수의 위치 측정 모델을 적용하는 단계를 포함하고, 각각의 적용된 위치 측정 모델은 상기 복수의 잠재적 위치 중 하나를 생성하는 것을 특징으로 하는 장치.
  15. 제14항에 있어서,
    상기 장치의 위치를 결정하는 단계는 상기 복수의 잠재적 위치의 평균 위치를 계산하는 단계를 포함하는 것을 특징으로 하는 장치.
  16. 제15항에 있어서,
    상기 평균은 가중 평균인 것을 특징으로 하는 장치.
  17. 제11항에 있어서,
    하나 이상의 위치 측정 모델을 선택하는 단계는:
    상기 장치가 현재 실내 또는 실외에 있는지 결정하는 단계; 및
    상기 장치가 현재 실내 또는 실외에 있는지에 기초하여 상기 위치 측정 모델의 하위 집합을 선택하는 단계를 포함하는 것을 특징으로 하는 장치.
  18. 제11항에 있어서,
    상기 하나 이상의 위치 측정 모델을 선택하는 단계는:
    각 위치 측정 모델에 점수를 할당하는 단계; 및
    상기 점수에 기초하여 상기 하나 이상의 위치 측정 모델을 선택하는 단계를 포함하되,
    위치 측정 모델에 대한 점수는 정확한 위치를 생성할 가능성을 나타내는 것을 특징으로 하는 장치.
  19. 제18항에 있어서,
    상기 점수는 유사한 환경에 대한 상기 모델의 과거 성능에 기초하는 것을 특징으로 하는 장치.
  20. 제18항에 있어서,
    상기 점수는 상기 센서 데이터에 기초하는 것을 특징으로 하는 장치.
KR1020217002633A 2018-06-27 2019-06-27 장치 위치 측정을 위한 다중 동기화 통합 모델 KR102338560B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217040226A KR102612347B1 (ko) 2018-06-27 2019-06-27 장치 위치 측정을 위한 다중 동기화 통합 모델

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862690566P 2018-06-27 2018-06-27
US62/690,566 2018-06-27
PCT/US2019/039606 WO2020006299A1 (en) 2018-06-27 2019-06-27 Multi-sync ensemble model for device localization

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217040226A Division KR102612347B1 (ko) 2018-06-27 2019-06-27 장치 위치 측정을 위한 다중 동기화 통합 모델

Publications (2)

Publication Number Publication Date
KR20210013655A true KR20210013655A (ko) 2021-02-04
KR102338560B1 KR102338560B1 (ko) 2021-12-15

Family

ID=68987514

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217040226A KR102612347B1 (ko) 2018-06-27 2019-06-27 장치 위치 측정을 위한 다중 동기화 통합 모델
KR1020217002633A KR102338560B1 (ko) 2018-06-27 2019-06-27 장치 위치 측정을 위한 다중 동기화 통합 모델

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020217040226A KR102612347B1 (ko) 2018-06-27 2019-06-27 장치 위치 측정을 위한 다중 동기화 통합 모델

Country Status (8)

Country Link
US (3) US10820172B2 (ko)
EP (1) EP3815398B1 (ko)
JP (2) JP6931138B1 (ko)
KR (2) KR102612347B1 (ko)
CN (2) CN115311422A (ko)
AU (3) AU2019291869B2 (ko)
CA (1) CA3104532C (ko)
WO (1) WO2020006299A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230080886A (ko) * 2021-11-30 2023-06-07 한국과학기술원 고차원 특징 구성을 위한 네트워크 기반 모바일 슬램 시스템 및 그 동작 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4163675A1 (en) * 2017-04-05 2023-04-12 Telefonaktiebolaget LM Ericsson (publ) Illuminating an environment for localisation
US11651555B2 (en) * 2018-05-31 2023-05-16 Microsoft Technology Licensing, Llc Re-creation of virtual environment through a video call
AU2019291869B2 (en) 2018-06-27 2021-02-25 Niantic, Inc. Multi-sync ensemble model for device localization
US11288842B2 (en) 2019-02-15 2022-03-29 Interaptix Inc. Method and system for re-projecting and combining sensor data for visualization
WO2021124286A1 (en) * 2019-12-20 2021-06-24 Niantic, Inc. Location determination and mapping with 3d line junctions
US11481930B2 (en) 2020-01-21 2022-10-25 Trimble Inc. Accurately positioning augmented reality models within images
US11391596B2 (en) 2020-04-28 2022-07-19 Vgis Inc. System and method for converging mediated reality positioning data and geographic positioning data
WO2022072021A2 (en) * 2020-06-25 2022-04-07 Innovative Signal Analysis, Inc. Multi-source 3-dimensional detection and tracking
EP4229552A4 (en) * 2020-10-13 2024-03-06 Flyreel Inc GENERATION OF MEASUREMENTS OF PHYSICAL STRUCTURES AND ENVIRONMENTS THROUGH AUTOMATED ANALYSIS OF SENSOR DATA
US11417069B1 (en) * 2021-10-05 2022-08-16 Awe Company Limited Object and camera localization system and localization method for mapping of the real world
CN116847456A (zh) * 2022-03-25 2023-10-03 维沃移动通信有限公司 定位方法、装置、终端及网络侧设备
CN114486321B (zh) * 2022-04-18 2022-06-24 中国飞机强度研究所 飞机测试内场与外场高温环境试验相似性表征方法
US11776206B1 (en) 2022-12-23 2023-10-03 Awe Company Limited Extended reality system and extended reality method with two-way digital interactive digital twins

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061870A (ja) * 2011-09-14 2013-04-04 Namco Bandai Games Inc プログラム、情報記憶媒体及び電子機器
KR20150115519A (ko) * 2014-04-04 2015-10-14 엘지전자 주식회사 조명 시스템 및 그 동작방법

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737431A (en) * 1995-03-07 1998-04-07 Brown University Research Foundation Methods and apparatus for source location estimation from microphone-array time-delay estimates
WO2006017266A2 (en) 2004-07-12 2006-02-16 William Marsh Rice University System and method for localization over a wireless network
JP4727999B2 (ja) * 2005-01-13 2011-07-20 クラリオン株式会社 現在位置表示方法、およびナビゲーション装置
US8751151B2 (en) * 2012-06-12 2014-06-10 Trx Systems, Inc. System and method for localizing a trackee at a location and mapping the location using inertial sensor information
TW201022700A (en) 2008-12-15 2010-06-16 Ind Tech Res Inst Localization and detecting system applying sensors, and method thereof
US8189964B2 (en) 2009-12-07 2012-05-29 Google Inc. Matching an approximately located query image against a reference image set
US8077090B1 (en) 2010-06-15 2011-12-13 Microsoft Corp. Simultaneous localization and RF modeling
US8933841B2 (en) * 2010-12-13 2015-01-13 The Governing Council Of The University Of Toronto System and method for localization
US9239990B2 (en) 2011-06-24 2016-01-19 Zos Communications, Llc Hybrid location using pattern recognition of location readings and signal strengths of wireless access points
PL2867615T3 (pl) * 2012-06-28 2017-08-31 Koninklijke Philips N.V. Sposób szacowania pozycji urządzenia i przyrząd implementujący ten sposób
US8849308B2 (en) * 2012-11-21 2014-09-30 Apple Inc. Tiling of map data
JP6102944B2 (ja) * 2012-12-10 2017-03-29 ソニー株式会社 表示制御装置、表示制御方法およびプログラム
US9292936B2 (en) * 2013-01-09 2016-03-22 Omiimii Ltd. Method and apparatus for determining location
US8990011B2 (en) * 2013-02-28 2015-03-24 Microsoft Technology Licensing, Llc Determining user device's starting location
US9367811B2 (en) * 2013-03-15 2016-06-14 Qualcomm Incorporated Context aware localization, mapping, and tracking
ITBA20130065A1 (it) 2013-10-02 2015-04-03 Domenico Colucci Sistema di localizzazione "indoor" ad alta affidabilita' e relative metodologie di utilizzo
US10360907B2 (en) * 2014-01-14 2019-07-23 Toyota Motor Engineering & Manufacturing North America, Inc. Smart necklace with stereo vision and onboard processing
US9674656B2 (en) * 2014-02-20 2017-06-06 Microsoft Technology Licensing, Llc Wireless-based localization using a zonal framework
KR102280610B1 (ko) * 2014-04-24 2021-07-23 삼성전자주식회사 전자 장치의 위치 추정 방법 및 장치
EP4206870A1 (en) * 2014-06-14 2023-07-05 Magic Leap, Inc. Method for updating a virtual world
US20160029224A1 (en) 2014-07-23 2016-01-28 Qualcomm Incorporated Determination of environment characteristics from mobile device-based sensor measurements
EP3227708A1 (en) 2014-12-04 2017-10-11 HERE Global B.V. Supporting a collaborative collection of data
US9264861B1 (en) * 2015-01-29 2016-02-16 Ringcentral, Inc. Generating spatial models using crowdsourcing
EP3333588B1 (en) 2015-05-13 2021-06-02 Combain Mobile AB Generating a model for positioning
US9743253B2 (en) * 2015-08-27 2017-08-22 Glopos Fzc Method and arrangement for locating a mobile device
KR101730269B1 (ko) * 2015-12-09 2017-04-27 성균관대학교산학협력단 실내 디바이스 위치를 추정하는 방법
WO2017114967A1 (en) 2015-12-31 2017-07-06 Robert Bosch Gmbh Indoor room-localization system and method thereof
WO2017145711A1 (ja) * 2016-02-24 2017-08-31 Soinnホールディングス合同会社 特徴量抽出方法及び特徴量抽出装置
US9996936B2 (en) * 2016-05-20 2018-06-12 Qualcomm Incorporated Predictor-corrector based pose detection
US9766349B1 (en) 2016-09-14 2017-09-19 Uber Technologies, Inc. Localization and tracking using location, signal strength, and pseudorange data
US10256906B2 (en) 2016-12-13 2019-04-09 University Of Virginia Patent Foundation Position localization using visible light communication
US10659768B2 (en) 2017-02-28 2020-05-19 Mitsubishi Electric Research Laboratories, Inc. System and method for virtually-augmented visual simultaneous localization and mapping
JP7190842B2 (ja) 2017-11-02 2022-12-16 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US20180093671A1 (en) * 2017-11-21 2018-04-05 GM Global Technology Operations LLC Systems and methods for adjusting speed for an upcoming lane change in autonomous vehicles
US20190204092A1 (en) * 2017-12-01 2019-07-04 DeepMap Inc. High definition map based localization optimization
WO2019109268A1 (zh) * 2017-12-06 2019-06-13 中国科学院自动化研究所 基于强化学习的图片自动裁剪的方法及装置
US10145689B1 (en) 2018-03-02 2018-12-04 Mapsted Corp. Method and system of pedestrian localization
AU2019291869B2 (en) 2018-06-27 2021-02-25 Niantic, Inc. Multi-sync ensemble model for device localization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061870A (ja) * 2011-09-14 2013-04-04 Namco Bandai Games Inc プログラム、情報記憶媒体及び電子機器
KR20150115519A (ko) * 2014-04-04 2015-10-14 엘지전자 주식회사 조명 시스템 및 그 동작방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
K.Ozden et al. A hybrid localization framework for mobile device.IEEE 2014 8h ICNGMA. 10-12 sep.2014, pp.164-168 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230080886A (ko) * 2021-11-30 2023-06-07 한국과학기술원 고차원 특징 구성을 위한 네트워크 기반 모바일 슬램 시스템 및 그 동작 방법

Also Published As

Publication number Publication date
CA3104532C (en) 2023-10-17
AU2019291869B2 (en) 2021-02-25
AU2019291869A1 (en) 2021-02-18
CA3104532A1 (en) 2020-01-02
AU2021203410B2 (en) 2022-07-21
AU2022256192A1 (en) 2022-11-24
EP3815398A4 (en) 2021-05-05
JP2022000761A (ja) 2022-01-04
US10904723B2 (en) 2021-01-26
KR102338560B1 (ko) 2021-12-15
JP7361075B2 (ja) 2023-10-13
JP6931138B1 (ja) 2021-09-01
CN115311422A (zh) 2022-11-08
US20200367034A1 (en) 2020-11-19
WO2020006299A1 (en) 2020-01-02
CN112334953A (zh) 2021-02-05
US20210105593A1 (en) 2021-04-08
EP3815398B1 (en) 2023-09-06
KR102612347B1 (ko) 2023-12-11
EP3815398A1 (en) 2021-05-05
US20200008024A1 (en) 2020-01-02
JP2021524636A (ja) 2021-09-13
AU2022256192B2 (en) 2024-02-01
US10820172B2 (en) 2020-10-27
AU2021203410A1 (en) 2021-06-24
US11540096B2 (en) 2022-12-27
CN112334953B (zh) 2022-08-02
KR20210154861A (ko) 2021-12-21

Similar Documents

Publication Publication Date Title
KR102338560B1 (ko) 장치 위치 측정을 위한 다중 동기화 통합 모델
JP7486565B2 (ja) クラウド支援型の新しい視点を利用したローカルマップデータの生成
KR20220119123A (ko) 매핑 장치로부터의 로컬 지도 병합
CN110892410B (zh) 启用云的增强现实

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant