KR20210086973A - 협력적인 3d 맵 데이터 융합 플랫폼 및 그것의 가상 세계 시스템을 구현하는 시스템 및 방법 - Google Patents

협력적인 3d 맵 데이터 융합 플랫폼 및 그것의 가상 세계 시스템을 구현하는 시스템 및 방법 Download PDF

Info

Publication number
KR20210086973A
KR20210086973A KR1020200184364A KR20200184364A KR20210086973A KR 20210086973 A KR20210086973 A KR 20210086973A KR 1020200184364 A KR1020200184364 A KR 1020200184364A KR 20200184364 A KR20200184364 A KR 20200184364A KR 20210086973 A KR20210086973 A KR 20210086973A
Authority
KR
South Korea
Prior art keywords
map
client device
features
coordinate space
virtual
Prior art date
Application number
KR1020200184364A
Other languages
English (en)
Inventor
체밧 옐리
Original Assignee
티엠알더블유 파운데이션 아이피 에스에이알엘
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 티엠알더블유 파운데이션 아이피 에스에이알엘 filed Critical 티엠알더블유 파운데이션 아이피 에스에이알엘
Publication of KR20210086973A publication Critical patent/KR20210086973A/ko

Links

Images

Classifications

    • 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
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3635Guidance using 3D or perspective road maps
    • G01C21/3638Guidance using 3D or perspective road maps including 3D objects and buildings
    • 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
    • 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
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/367Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • 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/20Analysis of 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
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • 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/10032Satellite or aerial image; Remote sensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Aviation & Aerospace Engineering (AREA)

Abstract

협력적인 3D 맵을 생성하는 방법은 3D 맵 데이터 융합 플랫폼을 제공하는 단계; 세계 위치의 기본 위성 맵을 제공하는 단계; 기본 위성 맵을 참조하여 실세계 위치의 상세한 실시간 가상 복제 네트워크(RVRN)를 퍼블리싱하는 단계; 클라이언트 장치의 포즈(예컨대, 위치 및 방향)를 획득하는 단계; 및 제 1 좌표 공간의 동시 위치측정 및 매핑(SLAM) 프로세스를 수행하는 단계를 포함한다. SLAM 프로세스는 클라이언트 장치의 이미징 장치로부터의 이미지 데이터, 클라이언트 장치의 포즈 및/또는 기본 위성 맵의 데이터를 사용하여 제 1 좌표 공간 내의 복수의 피처들의 포즈를 판정한다. 이 방법은 제 1 좌표 공간 내의 복수의 피처의 3 차원 좌표를 포함하는 새로운 맵을 생성하는 단계 및 새로운 맵을 퍼블리싱된 RVRN과 병합하여 융합된 3D 맵을 생성하는 단계를 더 포함한다.

Description

협력적인 3D 맵 데이터 융합 플랫폼 및 그것의 가상 세계 시스템을 구현하는 시스템 및 방법{SYSTEM AND METHOD ENABLING A COLLABORATIVE 3D MAP DATA FUSION PLATFORM AND VIRTUAL WORLD SYSTEM THEREOF}
(관련 출원(들)에 대한 상호 참조)
본 출원은 2019년 12월 30일에 출원된 미국 가출원 번호 62/955216의 효익을 주장하며, 이는 여기에 참조로 포함된다.
(기술 분야)
본 개시는 일반적으로 컴퓨터 시스템 및 방법에 관한 것으로, 보다 구체적으로는 업데이트 가능한(예를 들어, 지속적으로 업데이트되고, 간헐적으로 업데이트되고, 주기적으로 업데이트되도록 구성되는 등) 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 시스템 및 방법에 관한 것이다.
로봇 또는 다른 장치가 알려지지 않은 환경의 맵을 구축하는 동시에 상기 환경에서 자신의 현재 위치를 추적할 수 있도록 하기위한 이미징 장치 및 동시 위치측정 및 매핑(SLAM) 기술의 사용은 당 업계에 알려져있다. 일부 SLAM 기술은 협력적인 SLAM 맵을 생성하기 위해 병합된 복수의 이미징 장치의 데이터를 사용할 수 있다.
일반적으로, 복수의 이미징 장치는 SLAM 매핑을 담당하는 드론이나 로봇과 같은 특수 목적의 모바일 플랫폼에 구성된다. 따라서 현재 공동 작업은, 일반적으로 일반적인 사용자 장치에 대해 기술이 활성화되지 않기 때문에, 알려지지 않은 영역의 매핑을 기본 작업으로 하는 특정 장치에 대해 활성화되어 감소된 수의 장치에 매핑할 수 있는 영역을 제한한다. 또한, 이러한 장치 중 일부의 위치와 방향이 매핑 시점에 정확하게 알려지지 않아 생성된 맵의 정확도와 신뢰도가 떨어질 수 있기 때문에 복수의 이미징 장치에서 SLAM 프로세스의 정확도는 현재 협력적인 SLAM 기술의 제한 요소로 간주된다. 또한 현재 SLAM 맵은 일반적으로 응용 분야를 내비게이션으로 제한하고, 경우에 따라 증강 현실 경험을 생성하기 위해 생성된 맵 위에 추가로 객체를 오버레이하도록 제한하여 다른 응용 분야는 일반적으로 무시되도록 한다.
본 발명에 따르면, 업데이트 가능한(예를 들어, 지속적으로 업데이트되고, 간헐적으로 업데이트되고, 주기적으로 업데이트되도록 구성되는 등) 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 시스템 및 방법을 제공할 수 있다.
이 요약은 아래의 상세한 설명에서 더 자세히 설명하는 단순화된 형태로 개념 선택을 소개하기 위해 제공된다. 이 요약은 청구된 주제의 주요 피처를 식별하기 위한 것이 아니며 청구된 주제의 범위를 판정하는 데 도움을 주기 위해 사용되는 것도 아니다.
본 개시는 일반적으로 컴퓨터 시스템 및 방법에 관한 것으로, 보다 구체적으로는 업데이트 가능한(예를 들어, 지속적으로 업데이트되고, 간헐적으로 업데이트되고, 주기적으로 업데이트되도록 구성되는 등) 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 시스템 및 방법에 관한 것이다.
배경에서 설명된 하나 이상의 결점은 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그 영구 가상 세계 시스템을 가능하게하는 시스템 및 방법을 통해 해결된다. 일 양태에서, 본 개시 내용의 방법은 적어도 하나의 프로세서를 포함하는 하나 이상의 서버 컴퓨터의 메모리에 3D 맵 데이터 융합 플랫폼을 제공하는 단계; 상기 3D 맵 데이터 융합 플랫폼에서 세계 위치의 기본 위성 맵을 제공하는 단계; 상기 3D 맵 데이터 융합 플랫폼에서 상기 기본 위성 맵을 참조하여 실제 세계 장소의 상세한 실시간 가상 복제 네트워크(RVRN)를 퍼블리싱하는 단계(예를 들어, 가능한 경우, 상기 기본 위성 맵의 좌표에 맞춰 정렬됨); 제1 클라이언트 장치의 포즈(예를 들어, 위치 및 방향)를 획득하는 단계; 및 제1 좌표 공간의 동시 위치측정 및 매핑(SLAM) 프로세스를 수행하는 단계;를 포함한다. 상기 SLAM 프로세스는 상기 제1 클라이언트 장치의 적어도 하나의 이미징 장치로부터의 이미지 데이터, 상기 제1 클라이언트 장치의 상기 포즈 및/또는 상기 기본 위성 맵의 데이터를 사용하여 상기 제1 좌표 공간 내에서 제1 복수 피처의 상기 포즈를 판정한다.
일 실시 예에서, 상기 방법은 상기 제1 좌표 공간 내의 상기 제1 복수의 피처의 3차원 좌표를 포함하는 제1 새로운 맵을 생성하는 단계, 상기 제1 새로운 맵을 퍼블리싱된 상기 RVRN과 병합하여 융합 3D 맵을 생성하는 단계를 더 포함한다. 일 실시 예에서, 상기 제1 새로운 맵을 생성하는 단계는 상기 3D 맵 데이터 융합 플랫폼에 의한 피처 매칭 알고리즘을 통해 매핑된 제1 복수의 피처를 상기 퍼블리싱된 상세 RVRN과 비교하는 단계를 포함한다. 일 실시 예에서, 상기 비교하는 단계는 상기 제1 좌표 공간의 피처의 임계 개수에 도달하면(예를 들어, 특정 영역의 미리 정해진 백분율이 매핑되고 대응하는 피처가 획득되면) 발생한다. 이렇게하면 피처가 너무 적게 획득될 경우 샘플 크기가 너무 작아 비교를 수행할 수 없는 상황을 방지하는 것을 도울 수 있다.
따라서, 새로 생성된 맵이 상기 퍼블리싱된 상세 RVRN의 일부로 구성된 정확한 3D 지오메트리와 융합되거나 상기 새로 생성된 맵이 상기 퍼블리싱된 상세 RVRN에 추가 3D 지오메트리 및 피처를 제공하기 때문에 융합된 상기 3D 맵은 상기 기본 맵보다 더 높은 밀도의 세부 정보 및 피처를 포함하고, 이는 증강 또는 가상 현실과 같은 다수의 애플리케이션에서 사용을 지원할 수 있다. 또한 상기 기본 맵을 상세 정보가 풍부한 RVRN 생성을 위한 참조로 사용하고 상기 RVRN을 상기 새로 생성된 맵에 대한 피처 매칭을 위한 참조로 사용하면, RVRN 또는 상기 기본 맵에 이미 포함된 영역 및/또는 피처를 다시 매핑할 필요가 없기 때문에 상기 새로운 맵을 생성하는 동안 일부 컴퓨팅 파워와 시간을 절약할 수 있다.
상기 시스템은 RVRN이 이미 새로 매핑된 피처를 포함하는지 여부를 판정하기 위해 하나 이상의 검사를 수행할 수 있다. 일 실시 예에서, 상기 퍼블리싱된 상세 RVRN이 새로 매핑된 피처를 포함하는 경우, 상기 SLAM 프로세스가 종료될 수 있다. 그러나 상기 퍼블리싱된 RVRN이 상기 새로 매핑된 피처를 포함하지 않는 경우, 상기 제1 좌표 공간의 제1 새로운 맵이 생성될 때까지 상기 SLAM 프로세스가 계속될 수 있다.
일부 실시 예에서, 상기 방법은 제2 클라이언트 장치의 포즈(예를 들어, 위치 및 방향)를 획득하는 단계, 그런 다음 제2 좌표 공간의 SLAM 프로세스를 시작하는 단계를 더 포함한다. 일 실시 예에서, 상기 제2 좌표 공간의 상기 SLAM 프로세스는 상기 제2 클라이언트 장치의 적어도 하나의 이미징 장치로부터의 이미지 데이터, 상기 제2 클라이언트 장치의 상기 포즈 및/또는 상기 융합 3D 맵의 상기 데이터를 사용하여 상기 제2 좌표 공간 내의 제2 복수의 피처의 포즈를 판정한다. 일 실시 예에서, 상기 방법은 상기 제2 복수의 피처를 포함하는 제2 새로운 맵을 생성하는 단계, 및 상기 제2 새로운 맵을 상기 융합 3D 맵과 병합하여 협력적인 3D 맵을 생성하는 단계를 더 포함한다.
일 실시 예에서, 상기 제2 좌표 공간의 충분한 피처가 매핑되면, 상기 방법은 상기 3D 맵 데이터 융합 플랫폼에 의한 피처 매칭 알고리즘을 통해 매핑된 상기 제2 복수의 피처를 상기 융합 3D 맵과 비교함으로써 진행된다. 상기 융합 3D 맵이 상기 새로 매핑된 피처를 포함하는 경우, 상기 SLAM 프로세스가 종료될 수 있다. 그러나 상기 융합 3D 맵이 상기 새로 매핑된 피처를 포함하지 않는 경우, 상기 SLAM 프로세스는 제2 맵이 생성될 때까지 계속될 수 있다.
또 다른 실시 예에서, 상기 방법은 또한 가상 복제본, 순수한 가상 객체, 애플리케이션 또는 이들의 조합을 포함하는 영구 가상 세계 시스템과 상기 협력적인 3D 맵을 공유하는 단계를 포함하며, 여기서 상기 새로 매핑된 객체는 상기 영구 가상 세계 시스템에 추가된다(예를 들어, 가상 복제본으로서).
일부 실시 예에서, 이미지 데이터는 상기 제1 및 제2 클라이언트 장치 모두로부터(예를 들어, 동시에) 수신된다. 이러한 실시 예에서, 상기 방법은 상기 3D 맵 데이터 융합 플랫폼, 상기 기본 위성 맵을 제공하고 하나 이상의 RVRN을 퍼블리싱한 후에 발생할 수 있는 상기 제1 및 제2 클라이언트 장치의 포즈를 획득하는 단계를 포함할 수 있다. 상기 방법은 상기 제1 및 제2 클라이언트 장치의 적어도 하나의 이미징 장치로부터 이미지 데이터를 캡처하는 단계를 포함하여 제1 및 제2 좌표 공간의 SLAM 프로세스를 동시에 수행하는 단계를 포함할 수 있으며, 여기서 상기 SLAM 프로세스는 상기 제1 및 제2 클라이언트 장치의 포즈를 사용하여 수행되어 상기 제1 및 제2 좌표 공간 내의 제1 및 제2 복수의 피처의 포즈를 판정한다. 상기 방법은 충분한 피처가 추출되었는지 확인하여 상기 피처의 맵이 서로 비교 및 매칭될 수 있도록 하는 단계를 포함할 수 있다. 상기 방법은 상기 제1 및 제2 복수의 피처가 매칭하는지(예를 들어, 정확하게 또는 미리 결정된 정도로) 판정하는 단계, 및 매칭하는 경우, 피처의 상기 제1 및 제2 맵을 병합하는 단계를 포함하며, 여기서 상기 병합하는 단계는 상기 기본 맵과 정렬되어 수행된다. 일 실시 예에서, 상기 방법은 조합된 맵을 상기 RVRN과 비교 및 병합하여, 협력적인 3D 맵을 생성함으로써 진행된다. 상기 제1 및 제2 복수의 피처가 매칭하지 않는 경우, 상기 방법은 피처의 상기 제1 및 제2 맵을 RVRN과 별도로 비교 및 병합하여 협력적인 3D 맵을 생성함으로써 진행될 수 있다.
일부 실시 예에서, 상기 퍼블리싱된 RVRN은 CAD(computer-aided drawing) 모델링 기술을 통해 생성되거나 하나 이상의 컴퓨터 비전 스캐닝 방법을 통해 스캔된다. 예를 들어, 상기 적어도 하나의 서버 컴퓨터의 메모리는 사용자가 실제 세계의 엔티티의 가상 복제본을 모델링하고 편집할 수 있도록 구성된 소프트웨어, 하드웨어 및/또는 펌웨어를 포함할 수 있는 가상 복제본 편집기를 포함할 수 있고, 이는 상기 가상 복제본을 입력하고 편집하는데 필요한 데이터와 명령을 저장할 수 있다. 상기 가상 복제본 편집기는 모양, 위치측정, 위치 및 방향, 물리적 속성, 각 복제본의 예상 기능 및 영향, 및 전체로서의 시스템을 설명하는 데이터 및 명령과 같이 각 디지털 복제본과 관련된 명시적 데이터 및 명령을 입력할 수 있다.
일부 실시 예에서, 상기 SLAM 프로세스는 클라이언트 장치의 하나 이상의 프로세서에 의해 부분적으로 수행된다. 일부 실시 예에서, 상기 클라이언트 장치는 모바일 장치, 스마트 콘택트 렌즈, 머리 장착형 디스플레이, 랩톱, 데스크톱 컴퓨터, 카메라, 드론 및 차량 중 하나 이상이다. 상기 3D 맵 데이터 융합 플랫폼은 상기 새로 생성된 제1 맵과 상기 RVRN에 포함된 맵 데이터와 같은 복수의 피처를 포함하는 복수의 맵을 피처 비교 및 병합 알고리즘을 통해 융합하여 융합 3D 맵, 또는 융합 3D 맵과 적어도 제2 맵을 형성한다. 또한, 상기 3D 맵 데이터 융합 플랫폼은 복수의 클라이언트 장치가 복수의 맵을 병합하기 위해 이러한 알고리즘을 적용하기 위한 맵 데이터를 제공할 수 있게하여 상기 플랫폼이 협력적인 3D 맵을 생성하는데 사용할 수 있는 데이터 포인트의 수를 증가시킨다.
추가 실시 예에서, 방법은 상기 제1 또는 제2 클라이언트 장치로부터 식별자 코드를 획득하는 단계; 상기 식별자 코드를 상기 제1 새로운 맵 또는 제2 새로운 맵과 연관시키는 단계; 및 상기 식별자 코드가 연관되는 맵을 분산된 원장에 저장하는 단계;를 포함한다. 저장된 식별된 맵은, 예를 들어, 상기 제1 또는 제2 클라이언트 장치에 의한 맵 영역 기여와 관련하여 보상을 제공하는 단계를 포함하는 보상 시스템에서 사용될 수 있다. 상기 보상 시스템은 상기 분산 원장에 저장된 스마트 계약의 규칙에 의해 관리될 수 있다. 상기 식별자 코드는 예를 들어 QR 코드, URL, IP 주소, MAC 주소, 암호화 해시, 보편적으로 고유한 식별자 또는 조직적으로 고유한 식별자일 수 있다. 상기 보상은 예를 들어 암호 화폐, 쿠폰, 하나 이상의 애플리케이션의 추가 레벨에 대한 액세스 등일 수 있다.
일부 실시 예에서, 상기 기본 맵은 위성 이미지를 사용하는 위성 매핑 기술을 통해 획득된다. 일부 실시 예에서, 상기 기본 맵은 맵의 평면 버전, 예를 들어, 피처의 일부 세부 사항을 생략할 수도 있는 영역 내에 조밀한 수의 피처 및 세부 사항을 포함하지 않는 맵을 지칭한다. 일부 실시 예에서, 상기 기본 맵은 위성 이미지를 사용하는 위성 매핑 기술을 통해 획득된다. 일부 실시 예에서, 상기 기본 맵은 영역의 2D 맵이다. 예를 들어 기본 맵은 OpenStreetMap™, Google Maps™ 또는 Crowdmap™에서 제공하는 맵일 수 있다.
일부 실시 예에서, 상기 클라이언트 장치의 위치 및 방향은 글로벌 내비게이션 위성 시스템(GNSS), mmW 지리적 위치 방법, 내부 위치 결정 방법 또는 이들의 조합을 통해 획득된다.
일부 실시 예에서, 상기 방법은 상기 제1 또는 제2 클라이언트 장치를 통해 하나 이상의 가상 객체를 선택하는 단계; 및 상기 제1 또는 제2 클라이언트 장치에 의해, 상기 융합 3D 맵 또는 협력적인 가상 세계 시스템을 상기 가상 객체의 정렬을 위한 기준으로서 사용함으로써 선택된 가상 객체를 하나 이상의 위치 위에 오버레이하는 단계를 더 포함한다.
일부 실시 예에서, 상기 방법은 사용자 별 자격 정보를 상기 이미지 데이터에 추가하는 단계를 더 포함하며, 여기서 자격이 있는 사용자만이 상기 위치의 상기 이미지 데이터를 보는데 액세스할 수 있다.
일부 실시 예에서, 상기 방법은 자체 컴퓨팅 능력 및 자율적 동작을 제공하기 위해 논리, 가상 데이터 및 모델을 상기 영구 가상 세계 시스템의 상기 가상 객체 중 적어도 일부에 추가하는 단계를 더 포함하며, 여기서 상기 모델은 3D 모델, 동적 모델, 지오메트리 모델, 기계 학습 모델 또는 이들의 조합 중 하나 이상을 포함한다. 또 다른 실시 예에서, 상기 영구 가상 세계 시스템은 제조 작업, 트래픽 행동, 유틸리티, 또는 이들의 조합의 자율 또는 반 자율 관리를 위해 사용된다.
일 실시 예에서, 업데이트 가능한 3D 공간 맵을 가능하게 하는 시스템은 메모리 및 적어도 하나의 프로세서를 포함하는 적어도 하나의 서버 컴퓨터를 포함하고, 상기 메모리는 3D 맵 데이터 융합 플랫폼을 저장하고, 상기 적어도 하나의 서버 컴퓨터는 상기 3D 맵 데이터 융합 플랫폼에서 세계 위치측정의 기본 위성 맵을 제공하고; 상기 3D 맵 데이터 융합 플랫폼에서 상기 기본 위성 맵을 참조하여 실제 세계의 장소의 RVRN을 퍼블리싱하고; 제1 클라이언트 장치의 포즈를 획득하고; SLAM 프로세스가 상기 제1 클라이언트 장치의 적어도 하나의 이미징 장치로부터의 이미지 데이터와 상기 제1 클라이언트 장치의 포즈를 사용하여 상기 제1 좌표 공간 내의 제1 복수의 피처의 포즈를 판정하는, 상기 제1 좌표 공간의 상기 SLAM 프로세스를 시작하고; 상기 제1 좌표 공간 내의 상기 제1 복수의 피처의 3차원 좌표를 포함하는 제1 새로운 맵을 생성하고; 및 상기 3D 맵 데이터 융합 플랫폼에 의해, 상기 제1 좌표 공간 내의 상기 제1 복수의 피처의 상기 3차원 좌표를 포함하는 상기 제1 새로운 맵을 상기 퍼블리싱된 RVRN과 병합하여 융합 3D 맵을 생성하도록; 구성된다.
일 실시 예에서, 상기 제1 새로운 맵을 생성하는 단계는 상기 3D 맵 데이터 융합 플랫폼에 의해 하나 이상의 피처 매칭 알고리즘을 통해 상기 제1 복수의 피처를 상기 퍼블리싱된 RVRN과 비교하는 단계를 포함한다. 상기 비교하는 단계는 상기 제1 좌표 공간의 피처의 임계 개수에 도달하면 발생할 수 있다.
일부 실시 예에서, 상기 클라이언트 장치는 메모리, 적어도 하나의 프로세서, 위치측정의 이미지 데이터를 캡처하도록 구성된 적어도 하나의 이미징 장치, 및 상기 클라이언트 장치의 위치 및 방향을 제공하는 추적 시스템을 포함한다.
일 실시 예에 따르면, 상기 3D 맵 데이터 융합 플랫폼은 상기 적어도 하나의 프로세서에 의해 실행될 때 적어도 하나의 프로세서를 트리거하여 SLAM 프로세스를 시작하도록 하는 명령을 포함한다.
일 실시 예에서, 상기 적어도 하나의 서버 컴퓨터는 제2 좌표 공간의 SLAM 프로세스를 시작하도록 추가로 구성되며, 이는 제2 클라이언트 장치의 적어도 하나의 이미징 장치로부터의 이미지 데이터 및 상기 제2 클라이언트 장치의 포즈를 사용하여 상기 제2 좌표 공간 내에서 제2 복수의 피처의 포즈를 판정하고, 상기 제2 복수의 피처를 포함하는 제2 새로운 맵을 생성하고, 상기 제2 새로운 맵을 상기 융합 3D 맵과 병합하여 협력적인 3D 맵을 생성한다.
일 실시 예에서, 상기 적어도 하나의 서버 컴퓨터는 상기 제2 좌표 공간의 충분한 피처가 매핑되면, 상기 3D 맵 데이터 융합 플랫폼에 의한 피처 매칭 알고리즘을 통해 매핑된 상기 제2 복수의 피처를 상기 융합 3D 맵과 비교하고; 상기 융합 3D 맵이 상기 새로 매핑된 피처를 포함하는 경우 상기 SLAM 프로세스를 종료하고; 상기 융합 3D 맵이 상기 새로 매핑된 피처를 포함하지 않는 경우 제2 맵이 생성될 때까지 상기 SLAM 프로세스를 계속하도록; 더 구성된다.
일부 실시 예에서, 상기 시스템은 다른 위치에 있는 제2 클라이언트 장치를 더 포함하고, 여기서 상기 3D 맵 데이터 융합 플랫폼은 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 적어도 하나의 프로세서를 트리거하여: 상기 제2 클라이언트 장치의 적어도 하나의 이미징 장치로부터 이미지 데이터를 캡처함으로써, SLAM 프로세스가 상기 제2 클라이언트 장치의 포즈를 사용하여 상기 제2 좌표 공간 내의 제2 복수 피처의 포즈를 판정함으로써 수행되는, 제2 좌표 공간의 상기 SLAM 프로세스를 시작하고; 상기 제2 좌표 공간의 충분한 피처가 매핑되면, 상기 3D 맵 데이터 융합 플랫폼에 의한 피처 매칭 알고리즘을 통해, 상기 매핑된 제2 복수의 피처를 상기 융합 3D 맵과 비교하고; 상기 융합 3D 맵이 새로 매핑된 피처를 포함하는 경우 상기 SLAM 프로세스를 종료하고; 상기 융합 3D 맵이 새로 매핑된 피처를 포함하지 않는 경우 제2 맵이 생성될 때까지 상기 SLAM 프로세스를 계속하고; 협력적인 3D 맵 데이터 융합 플랫폼에 의해, 상기 제2 좌표 공간의 상기 생성된 제2 맵을 상기 융합 3D 맵과 병합하여 협력적인 3D 맵을 생성하도록;하는 명령을 더 포함한다.
일 실시 예에 따르면, 협력적인 3D 맵은 가상 복제본, 순수 가상 객체, 애플리케이션 또는 이들의 조합을 포함하는 영구 가상 세계 시스템과 공유되며, 상기 새로 매핑된 객체는 상기 영구 가상 세계 시스템에 추가된다(예를 들어, 가상 복제본으로서).
일 실시 예에 따르면, 상기 적어도 하나의 서버 컴퓨터는 상기 제1 또는 제2 클라이언트 장치로부터 식별자 코드를 획득하고; 상기 식별자 코드를 상기 제1 새로운 맵과 연관시키고; 식별된 상기 제1 새로운 맵을 분산 원장에 구현된 스마트 계약에 저장;하도록 더 구성된다. 일 실시 예에서, 저장된 식별 맵은 상기 제1 또는 제2 클라이언트 장치에 의한 맵 영역 기여와 관련하여 보상을 제공하는 것을 포함하는 보상 시스템에서 사용된다.
일 실시 예에 따르면, 클라이언트 장치는 상기 적어도 하나의 서버 컴퓨터의 메모리에 저장된 하나 이상의 가상 객체를 선택하고; 상기 가상 객체의 정렬을 위한 참조로서 상기 영구 가상 세계 시스템과 공유된 상기 협력적인 3D 맵을 사용하여 하나 이상의 위치의 위에 선택된 상기 가상 객체를 오버레이;하도록 구성된다.
상기 요약은 본 개시의 모든 양태의 포괄적인 목록을 포함하지 않는다. 본 개시 내용은 아래의 상세한 설명에 개시되고 특히 출원과 함께 출원된 청구 범위에서 개시된 것들뿐만 아니라 위에 요약된 다양한 양태의 모든 적합한 조합으로부터 실시될 수 있는 모든 시스템 및 방법을 포함하는 것으로 고려된다. 이러한 조합은 상기 요약에서 구체적으로 언급되지 않은 특정한 이점을 갖는다. 본 개시의 다른 피처 및 이점은 첨부된 도면 및 이하의 상세한 설명으로부터 명백해질 것이다.
본 발명의 상술한 양태 및 수반되는 많은 이점은 첨부된 도면과 관련하여 다음의 상세한 설명을 참조하여 더 잘 이해됨에 따라 더 쉽게 인식될 것이다.
본 개시의 특정 피처, 양태 및 이점은 다음의 설명 및 첨부 도면과 관련하여 더 잘 이해될 것이다.
도 1은 일 실시 예에 따른 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 시스템의 개략도를 도시한다.
도 2는 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 시스템의 또 다른 실시 예의 개략도를 도시한다.
도 3은 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 시스템의 추가 실시 예의 개략도를 도시한다.
도 4는 일 실시 예에 따른, 2개 이상의 클라이언트 장치에 의한 SLAM 스캐닝 및 서버로의 데이터 흐름의 개략도를 도시한다.
도 5는 일 실시 예에 따른 영구 가상 세계 시스템의 다이어그램을 도시한다.
도 6은 일 실시 예에 따른 영구 가상 세계 시스템 및 3D 맵 데이터 융합 플랫폼과의 관계의 추가 다이어그램을 도시한다.
도 7은 일 실시 예에 따른 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 방법의 블록도를 도시한다.
도 8은 일 실시 예에 따른 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 방법의 추가 단계의 블록도를 도시한다.
도 9는 일 실시 예에 따른 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 제1 및 제2 클라이언트 장치로부터 이미지 데이터를 수신하는 방법의 블록도를 도시한다.
도 10은 일 실시 예에 따른 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 방법의 추가 단계를 보여주는 방법의 블록도를 도시한다.
도 11은 일 실시 예에 따른 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 방법의 추가 단계를 도시하는 블록도를 도시한다.
다음의 설명에서, 다양한 실시 예를 도시하는 도면을 참조한다. 또한, 다수의 예를 참조하여 다양한 실시 예를 설명한다. 실시 예는 청구된 주제의 범위를 벗어나지 않고 설계 및 구조의 변경을 포함할 수 있음을 이해해야 한다.
배경에서 설명된 하나 이상의 결점은 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 시스템 및 방법을 통해 해결된다. 시스템 및 방법은 복수의 이미징 장치에 의해 캡처된 적어도 하나의 좌표 공간의 이미지를 캡처하고 분석하기 위해 컴퓨터 비전 기술을 사용할 수 있다. 데이터를 캡처하고 SLAM(동시 위치측정 및 매핑) 프로세스를 수행하는 이미징 장치와 사후 분석 기술을 포함하는 클라이언트 장치의 정확한 위치 지정 및 추적을 통해, 피처를 추출하여 좌표 공간 내의 하나 이상의 객체에 연관시킬 수 있다. 분석된 피처 데이터는 3D 맵 데이터 융합 플랫폼에서 사용 가능한 기본 위성 맵을 고려하여 3D 맵 데이터 융합 플랫폼에 퍼블리싱된 좌표 공간 내에 위치한 복수의 가상 복제본을 구비하는 실시간 가상 복제 네트워크(RVRN)와 비교할 수 있다. 상기 비교는 이미징 장치가 데이터를 계속 캡처하고 SLAM 프로세스를 수행해야 하는지 여부를 판정하기 위해 수행된다. RVRN이 매핑된 피처를 포함하지 않거나 상기 객체의 가상 복제본을 사용할 수 없기 때문에 추가 맵 데이터가 필요한 경우, 시스템 및 방법은 SLAM 맵을 완료한 다음 새로 생성된 맵을 퍼블리싱된 RVRN과 병합할 수 있다.
유사한 로직에 따라, 다른 클라이언트 장치의 이미지 데이터를 추가로 융합 3D 맵과 비교할 수 있으며, 융합 3D 맵에 아직 포함되지 않은 경우, 함께 병합하여 복수의 소스로부터 이미지 데이터 입력을 받을 수 있는 협력적인 3D 맵을 생성할 수 있다. 이 협력적인 3D 맵은 가상 복제본, 순수 가상 객체 및 애플리케이션을 포함하는 가상 객체를 구비하는 영구 가상 세계 시스템과 추가로 공유될 수 있다. 협력적인 3D 맵이 공유하는 데이터는 영구 가상 세계 시스템에 가상 복제본의 일부로서 추가될 수 있다. 또한, 다른 데이터 및 모델이 복수의 애플리케이션에서 사용하기 위해 가상 복제본에 추가될 수 있다.
도 1은 일 실시 예에 따른 영구 가상 세계 시스템에 연결된 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼을 가능하게 하는 시스템(100)의 개략도를 도시한다.
시스템(100)은 실제 세계로부터 데이터(104)를 캡처하고 네트워크(108)를 통해 적어도 하나의 서버 컴퓨터(106)로 데이터(104)를 전송하는 복수의 클라이언트 장치(102)를 포함한다. 감시 카메라(102a), 랩톱 컴퓨터(102b), 로봇(102c), 드론(102d), 스마트 안경(102e), 자율 주행 차량(102f), 스마트 콘택트 렌즈(102g), 및 휴대 전화(102h)와 같은 클라이언트 장치(102)의 다수의 예가 도 1에 제공되지만, 다른 유형의 클라이언트 장치(102)가 또한 데이터(104)를 적어도 하나의 서버 컴퓨터(106)에 제공하기 위해 사용될 수 있다. 데이터(104)는 제1 복수의 피처를 구비하는 적어도 하나의 좌표 공간(예를 들어, 하나 이상의 위치)의 이미지 데이터(110) 및 이미지 데이터(110)를 캡처하는 클라이언트 장치(102)의 포즈 데이터(112)(예를 들어, 위치 지정 및 방향)를 포함한다. 예를 들어, 드론(102d)과 같은 제1 클라이언트 장치는 제1 복수의 피처를 포함하는 적어도 하나의 제1 좌표 공간의 이미지 데이터(110)를 캡처할 수 있고, 휴대 전화(102h)와 같은 제2 클라이언트 장치는 제2 복수의 피처를 포함하는 적어도 제2 좌표 공간의 이미지 데이터(110)를 캡처할 수 있다. 적어도 하나의 서버 컴퓨터(106)에 의해 수신된 데이터(104)는 영구 가상 세계 시스템(120)에 연결되는 메모리에 저장된 3D 맵 데이터 융합 플랫폼(114)으로 전송된다.
시스템(100)은 기본 위성 맵(116)의 데이터를 수신하는데, 이는 3D 맵 데이터 융합 플랫폼(114)에 연결되는(예를 들어, 복수의 대응하는 애플리케이션 프로그래밍 인터페이스(API)를 통해) 하나 이상의 공공 또는 사설 글로벌, 지역 또는 로컬 맵의 위성 이미지를 사용하는 맵핑 기술에 의해 획득될 수 있다. 기본 위성 맵(116)은 맵의 평평한 버전, 예를 들어, 그러한 피처의 일부 세부 사항을 생략할 수도 있는 영역 내에서 조밀한 수의 피처 및 세부 사항을 포함하지 않는 맵을 지칭한다. 일부 실시 예에서, 기본 위성 맵은 2D 맵이다. 다른 실시 예에서, 기본 위성 맵은 기본 3D 맵이다. 예를 들어 기본 맵은 OpenStreetMap™, Google Maps™ 또는 Crowdmap™에서 제공하는 맵일 수 있다.
영구 가상 세계 시스템(120)은 실시간 3D 가상 복제 네트워크(RVRN(118))에 관한 데이터를 수신한다. RVRN(118)은 실제 세계 객체의 복수의 가상 복제본을 포함할 수 있다. 가상 복제본은 예를 들어 건물 소유주 또는 주정부 기관에 의해 퍼블리싱될 수 있다. 일부 실시 예에서, 퍼블리싱된 가상 복제본은 CAD(computer-aided drawing) 모델링 기술을 통해 생성되거나 하나 이상의 컴퓨터 비전 스캐닝 방법을 통해 스캔된다. 예를 들어, 적어도 하나의 서버 컴퓨터(106)의 메모리는 사용자가 실제 세계 엔티티의 가상 복제본을 모델링하고 편집할 수 있도록 구성된 소프트웨어 및 하드웨어를 포함할 수 있는 가상 복제본 편집기를 포함할 수 있으며, 이는 가상 복제본을 입력하고 편집하는 데 필요한 데이터 및 명령을 저장할 수 있는 CAD 소프트웨어일 수 있다. 가상 복제본 편집기는 모양, 위치, 위치지정 및 방향, 물리적 속성, 예상되는 기능 및 각 복제본의 영향 및 전체로서의 시스템을 설명하는 데이터 및 명령과 같이 각 가상 복제본과 관련된 명시적 데이터 및 명령을 입력할 수 있다. 명시적 데이터 및 명령으로 실제 세계 엔티티를 가상 복제본으로 변환하고 영구 가상 세계 시스템에서 사용할 수 있도록 만드는 모델링 기술은 실제 엔티티의 즉시 가용한 CAD 모델을 기반으로 할 수 있다. 컴퓨터 비전 스캐닝 방법은 예를 들어 합성 조리개 레이더, 실제 조리개 레이더, LIDAR(Light Detection and Ranging), 역 조리개 레이더, 모노 펄스 레이더 및 그것들을 영구 가상 세계 시스템에 통합하기 전에 실제 세계 엔티티를 매핑 및 모델링하도록 사용될 수 있는 다른 유형의 이미징 기술의 사용을 포함할 수 있다.
클라이언트 장치(102)로부터 수신된 데이터(104)와 함께 3D 맵 데이터 융합 플랫폼(114)은 제1 좌표 공간의 동시 위치측정 및 매핑(SLAM) 프로세스를 시작하도록 진행하며, 여기서 상기 SLAM 프로세스는 제1 클라이언트 장치의 포즈, 또는 기본 위성 맵(108)의 데이터, 또는 그의 조합을 사용하여 이미지 데이터(110)로부터 검색된 제1 좌표 공간 내의 제1 복수의 피처의 포즈를 판정하도록 수행된다. 여기서 사용되는 바와 같이, 용어 "포즈"는 단독으로 또는 장치 또는 피처의 위치와 같은 다른 데이터와 조합하여 장치 또는 피처의 방향을 가리킨다.
제1 좌표 공간의 충분한 피처가 매핑되면, 3D 맵 데이터 융합 플랫폼(114)은 피처 매칭 알고리즘을 통해 하나 이상의 좌표 공간의 RVRN(118)을 새로 입력된 이미지 데이터(110)로부터 추출된 피처와 비교한다. 퍼블리싱된 RVRN(118)이 이미지 데이터(110)의 피처 및 대응하는 피처 포즈 데이터를 포함하지 않는 경우, 3D 맵 데이터 융합 플랫폼(114)은 제1 클라이언트 장치의 포즈와 관련하여 복수의 피처의 제1 새로운 맵을 생성하도록 진행하고, 그런 다음 적어도 하나의 제1 복수의 피처의 3차원 좌표를 구비하는 제1 새로운 맵을 기본 맵과 정렬된 RVRN(118)과 병합하여 융합 3D 맵을 생성하도록 진행한다.
유사한 프로세스가 다른 클라이언트 장치에 의해 캡처된 다른 피처로부터 이미지 데이터(110)에 적용될 수 있다. 따라서, 예를 들어, 3D 맵 데이터 융합 플랫폼(114)은 제2 클라이언트 장치의 포즈 데이터(112)를 수신한 후, 상기 포즈 데이터를 사용하여 제2 좌표 공간 내의 SLAM 프로세스를 수행하여 제2 좌표 공간 내에서 제2 복수의 피처의 포즈를 판정하도록 진행한다. 제2 좌표 공간의 충분한 피처가 매핑되면, 3D 맵 데이터 융합 플랫폼(114)은 피처 매칭 알고리즘을 통해 융합 3D 맵을 새로 입력된 이미지 데이터와 비교한다. 융합 3D 맵이 3차원 좌표를 포함하는 이미지 데이터(110)를 포함하지 않는 경우, 3D 맵 데이터 융합 플랫폼(114)은 제2 복수의 피처의 제2 새로운 맵이 생성될 때까지 SLAM 프로세스를 계속 진행한다. 마지막으로, 3D 맵 데이터 융합 플랫폼(114)은 제2 새로운 맵을 융합 3D 맵과 병합하여 협력적인 3D 맵을 생성하도록 진행한다.
본 명세서에서 좌표 공간과 관련하여, "피처" 또는 "이미지 피처"라는 용어는 이미지 콘텐츠에 대한 정보를 제공하는 좌표 공간 내의 관심 지점을 가리킨다. 이러한 피처는 환경 내의 객체를 설명할 수 있고 이미지 또는 파생된 특성과 연관될 수 있는 임의의 적절한 수단(예를 들어, 베지어 곡선 또는 대수적 다양체(Algebraic Varieties))에 의해 설명된 점, 선분 및/또는 표면을 포함할 수 있다. 예를 들어, 거리, 공공 장소(예를 들어, 공원 또는 공공 광장), 지형 및 건물의 하나 이상의 이미지로부터 복수의 피처가 추출될 수 있다. 피처는, 함께 결합될 때 이미지에서 복수의 객체를 구비하는 좌표 공간의 맵을 형성할 수 있다. 다른 실시 예에서, 피처는 실내 위치 내의 객체와 같은 실내 관심 지점에 더 포함될 수 있다. 피처는 이미지 또는 맵 데이터 인식, 매칭, 재구성 등과 같이 3D 맵 데이터 융합 플랫폼(114)에 의해 수행되는 이미지 분석 및 처리에 사용되는 다수의 애플리케이션에서 기본이다.
일부 실시 예에서, 이미지 데이터(110)는 하나 이상의 클라이언트 장치(102)에 의해 전송된 프레임의 스트림에 포함될 수 있다. 클라이언트 장치(102)의 하나 이상의 이미징 장치에 의해 기록된 이미지 및 프레임에 포함된 이미지 데이터(110)상의 3D 맵 데이터 융합 플랫폼(114)에 의해 적어도 부분적으로 수행되는 SLAM 기술을 통해, 클라이언트 장치(102)의 움직임 및 복수의 피처의 포즈가 판정될 수 있다. 일부 실시 예에서, SLAM 프로세스 동안, 프레임 중 적어도 일부는 선택적으로 키 프레임으로서 유지될 수 있다. 예를 들어, 문제의 좌표 공간에서 잘못 매핑되거나 매핑되지 않은 부분을 나타내는 프레임에서 새 키 프레임을 선택할 수 있다. 일부 예들에서, 키 프레임이 좌표 공간의 잘못 매핑되거나 매핑되지 않은 부분을 보여주는 것을 판정하는 한 가지 방법은 RVRN(118) 또는 융합 3D 맵에서 매칭하는 대응이 없는 피처와 같은 많은 새로운 피처가 나타날 때이다.
일부 실시 예에서, 협력적인 3D 맵은 그 후 적어도 하나의 서버 컴퓨터(106)의 메모리에 저장된 영구 가상 세계 시스템(120)과 공유될 수 있다. 영구 가상 세계 시스템(120)은 실제 세계의 가상 버전을 지칭하며, 여기서 모두 또는 대부분의 실제 세계의 객체는 대응하는 가상 복제본으로서 표현되며, 순수 가상 객체 및 애플리케이션과 같은 다른 객체도 추가 및 구성될 수 있다. 영구 가상 세계 시스템(120)은 실제 세계의 정확한 버전을 나타낼 수 있다. 영구 가상 세계 시스템(120)은 실제 세계 객체의 위치, 방향, 스케일 및 치수와 같은 실제 세계 좌표, 물리적 속성 및 실시간 3D 가상 복제본의 형태로 된 각 실제 객체의 3D 구조를 포함한다.
본 명세서에서 "영구"라는 용어는 지속적으로 실행되는 프로세스 또는 네트워크 연결 없이 계속 존재할 수 있는 시스템의 상태를 특성화하는 데 사용된다. 예를 들어, "영구"라는 용어는 가상 세계 시스템 및 모든 가상 복제본, 순수 가상 객체 및 그 안에 포함된 애플리케이션이, 가상 복제본, 순수 가상 객체, 및 애플리케이션을 생성하는데 사용되는 프로세스가 중단되고 독립적인 사용자가 가상 세계 시스템에 연결된 후에도 계속 존재하는 가상 세계 시스템을 특성화하는데 사용될 수 있다. 따라서, 가상 세계 시스템은 비휘발성 저장 위치(예를 들어, 서버)에 저장된다. 이러한 방식으로, 가상 복제본, 순수 가상 객체 및 애플리케이션은 사용자가 서버에 연결되지 않은 경우에도 특정 목표를 달성하도록 구성될 때 서로 상호 작용하고 협력할 수 있다.
일부 실시 예에서, 시스템(100)은 그 모두가 네트워크를 통해 연결할 수 있는 공공 또는 사설 클라우드 서버, 포그 서버, 그리고 엔터프라이즈 시스템, 모바일 플랫폼 및 사용자 장치와 같은 에지 장치 및 시스템을 사용하는 분산 컴퓨팅 기능을 구현할 수 있는 클라우드-에지 인프라를 사용할 수 있다. 클라우드-에지 컴퓨팅 네트워크를 사용하여, 컴퓨팅 파워, 컴퓨터 인프라(예를 들어, 소위 서비스로서의 인프라 또는 IaaS를 통해), 애플리케이션 및 비즈니스 프로세스에 대한 액세스를 주문형 클라이언트 장치를 통해 사용자에게 서비스로서 제공할 수 있다. 이러한 방식으로 물리적 서버 및 네트워크 장비를 포함한 리소스는 사용자와 리소스 및 네트워크까지의 거리 및 사용자의 컴퓨팅 요구와 같은 요인에 따라 동적으로 할당될 수 있는 공유 스토리지 및 컴퓨팅을 가능하게 한다. 일부 실시 예에서, 클라우드-에지 인프라는 3D 맵 데이터 융합 플랫폼(114) 및 영구 가상 세계 시스템(120)을 공유 배치로 널리 배포하는 데 필요한 데이터의 전송 및 저장을 용이하게 하는 분산 원장 기반 인프라를 더 포함한다.
일부 실시 예에서, 하드웨어 및 네트워크 요구를 감소시키고, 네트워크 지연의 감소에 기여하고, 일반적인 병합 현실 경험을 개선하기 위해, 시스템은 mmW(밀리미터파) 또는 mmW와 5세대 무선 시스템 통신(5G)과 같은 서브 6GHz 통신 시스템의 조합을 포함하는 네트워크(108)를 통해 연결할 수 있다. 다른 실시 예에서, 시스템은 60GHz에서 데이터를 제공하는 무선 근거리 네트워킹(Wi-Fi)을 통해 연결할 수 있다. 제공된 통신 시스템은 일반적으로 고도로 상호 작용하는 디지털 현실 애플리케이션 또는 기타 매우 까다로운(high-demanding) 애플리케이션을 실행하는 데 필요한 파라미터를 준수하여 필드의 엔드 포인트에 대한 낮은 대기 시간과 높은 Gbps 다운 링크 속도를 허용할 수 있다. 이는 고품질, 짧은 지연 시간, 실시간 디지털 애플리케이션 콘텐츠 스트리밍을 결과로 가져온다. 다른 실시 예에서, 시스템은 4세대 무선 시스템 통신(4G)을 통해 통신가능하게 연결될 수 있거나, 4G 통신 시스템에 의해 지원될 수 있거나, 다른 유선 또는 무선 통신 시스템을 포함할 수 있다.
일부 셀룰러 네트워크 실시 예에서, 극 고주파 대역이라고도 하는 mmW 대역이 사용된다. mmW 대역은 30 내지 300GHz이지만; 그러나 약 10 내지 300GHz의 인접 초고주파도 포함될 수 있는데, 이러한 파장은 mmW와 유사하게 전파되기 때문이다. Mmw 기반 안테나 또는 mmW 기반 안테나와 서브 GHz 안테나 시스템의 조합은 mmW의 극 고주파로 인해 반사율이 높고 벽이나 기타 단단한 물체에 의해 쉽게 차단되며 나뭇잎을 통과하거나 거친 기상 조건에서 현저한 감쇠를 겪을 수 있다. 따라서, 셀룰러 네트워크 안테나는 그리드 패턴으로 배열된 소형 mmW 트랜시버를 포함할 수 있으며, 이는 전송 파워를 증가시키지 않고 집합 에너지를 확대하고 이득을 증가 시키며 파워 손실을 줄이는 데 도움이 될 수 있다. 다중 입력, 다중 출력 또는 MIMO와 같은 당 업계에 알려진 기술은 여러 장치에서 동시에 빔을 분리하거나 단일 장치로 다중 데이터 스트림을 전송하여, 서비스 품질(QOS)을 증가시키는 데 사용될 수 있다. 또한, 안테나는 밀리미터파의 정확한 전파를 보장하기 위해 약 100미터에서 약 2km 사이의 비교적 작은 영역을 커버할 수 있다.
일 실시 예에 따르면, 클라이언트 장치(102)의 추적은 추정된 도착 시간(TOA), 도착 각도(AOA)/출발 각도(AOD) 및 시각적 이미징 기술(예를 들어, 클라이언트 장치(102)에 가까운 영역에 위치하는 이미징 장치를 통해) 중 하나 이상에 의해 수행된다. 추적은 레이더 기술, 안테나, Wi-Fi, 관성 측정 장치, 자이로스코프 및 가속도계 중 하나 이상에 의해 수행될 수 있다.
일부 실시 예에서, mmW 안테나의 평방 미터당 밀도가 다른 시스템보다 높기 때문에, 클라이언트 장치에 더 가깝게 위치한 안테나의 가용성이 더 높아서 안테나에서 송신기로, 그리고 그 역으로의 신호 사이의 도착 시간이 더 짧아지고, 이는 TOA 또는 추정된 AOA/AOD와 같은 다른 기술을 통해 클라이언트 장치(102)의 추정된 위치 및 방향의 계산에 사용될 수 있다. 또한 추정 클라이언트 장치 위치는 빔형성기 설계에 필요한 정보를 제공한다. 따라서, 클라이언트 장치(102)의 위치가 정확한 방식으로 추정되면, 안테나는 시선(LOS: line-of-sight) 경로를 직접 사용하거나 1차 반사기를 통해, 또는 기타 다른 적절한 기술을 통해 클라이언트 장치(102)쪽으로 빔을 조종할 수 있다. 이는 높은 QOS를 유지하면서 로컬리제이션과 통신 서비스 간의 시너지 효과를 가져온다. 더욱이, 안테나와 클라이언트 장치(102)의 근접성 및 더 높은 QOS로 인해, SLAM 프로세스의 더 많은 부분이 서버(106)에서 수행되어 더 가볍거나 더 얇은 클라이언트 장치(102)를 사용할 수 있다.
다른 실시 예에서, GPS, BDS, Glonass, QZSS, Galileo 및 IRNSS와 같은 임의의 위성 기반 내비게이션 시스템을 지칭하는 글로벌 내비게이션 위성 시스템(GNSS)은 클라이언트 장치(102)의 위치 지정을 가능하게 하는 데 사용될 수 있다. 충분한 수의 위성과 삼각 측량 및 삼변 측량과 같은 기술로 얻은 신호를 이용하여, GNSS는 장치의 위치, 속도, 고도 및 시간을 계산할 수 있다. 일 실시 예에서, 외부 포지셔닝 시스템은 기존 셀룰러 통신 네트워크의 아키텍처를 통해 보조 GNSS(AGNSS)에 의해 증강되며, 기존 아키텍처는 5G를 포함한다. 다른 실시 예에서, AGNSS 추적 시스템은 4G 셀룰러 통신 네트워크에 의해 추가로 지원된다. 실내 실시 예에서, GNSS는 60GHz에서 데이터를 제공하는 것을 포함하지만 이에 제한되지 않는 Wi-Fi와 같은 라디오 무선 근거리 네트워크를 통해 추가로 증강된다. 대안적인 실시 예에서, GNSS는 차동 GPS(DGPS), 위성 기반 증강 시스템(SBAS), 실시간 키네매틱(RTK) 시스템과 같은 다른 기술을 통해 증강된다. 일부 실시 예에서, 클라이언트 장치(102)의 추적은 클라이언트 장치(102) 내의 AGNSS 및 관성 센서의 조합에 의해 구현된다.
도 2는 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 시스템(200)의 다른 실시 예의 개략도를 도시한다. 도 2의 일부 엘리먼트는 도 1의 엘리먼트와 유사할 수 있고, 따라서 동일하거나 유사한 참조 번호를 사용하여 이를 나타낼 수 있다.
시스템(200)은 클라이언트 장치 1, 클라이언트 장치 2 및 클라이언트 장치 N과 같은 복수의 클라이언트 장치(102)를 포함하며, 이들 모두는 3D 맵 데이터 융합 플랫폼(114)의 클라이언트 관리 모듈(202)로 데이터를 전송할 수 있다. 개별 클라이언트 장치 관리 인스턴스(204)는 클라이언트 장치(102)마다 동적으로 생성되어 각 클라이언트 장치(102)에 의해 전송된 데이터(104)를 수신 및 처리하고 추가 매핑 및 내비게이션 목적을 위해 대응하는 맵 업데이트(206)를 각 클라이언트 장치(102)에 전송한다. 예를 들어, 개별 클라이언트 장치 관리 인스턴스(204)에 의한 데이터(104)의 처리는 수신된 데이터(104)에 기초하여 좌표 공간의 SLAM 스캐닝을 수행하기 위한 SLAM 파이프 라인을 구현하는 단계; 영구 가상 세계 시스템(120)에서 이미지 데이터를 하나 이상의 RVRN(118)과 비교하기 위해 하나 이상의 피처 매칭 알고리즘을 구현하는 단계; 및 융합 3D 맵(208)를 생성하기 위해 기본 위성 맵(116)의 관점에서 또는 기본 위성 맵(116)와 정렬되어 좌표 공간의 맵을 생성하고 이용 가능한 RVRN(118)과 맵을 병합하는 단계;를 포함한다. 클라이언트 관리 모듈(202)에 의해 수행되는 작업의 추가 세부 사항은 도 3에 설명되어있다.
일부 실시 예에서, 이미지 데이터는 다수의 클라이언트 장치로부터(예를 들어, 동시에) 수신된다. 이러한 실시 예에서, 3D 맵 데이터 융합 플랫폼(114)은 먼저 클라이언트 장치(102)(예를 들어, 클라이언트 장치 1 및 2)의 포즈를 획득하고 동시에 제1 및 제2 클라이언트 장치의 적어도 하나의 이미징 장치로부터 이미지 데이터를 캡처함으로써 제1 및 제2 좌표 공간의 SLAM 프로세스를 수행하도록 구성될 수 있고, 여기서 상기 SLAM 프로세스는 제1 및 제2 좌표 공간 내의 제1 및 제2 복수의 피처의 포즈를 판정하기 위해 제1 및 제2 클라이언트 장치(102)의 포즈를 사용함으로써 수행된다. 각각의 개별 클라이언트 장치 관리 인스턴스(204)는 그런 다음 대응하는 제1 또는 제2 클라이언트 장치(102)로부터 데이터를 동시에 획득하고 각각의 좌표 공간에 대해 SLAM 프로세스를 수행하도록 구성된다. 3D 맵 데이터 융합 플랫폼(114)은 추가로 충분한 피처가 추출되었는지 여부를 확인하고, 후속적으로 각각의 좌표 공간의 복수의 피처를 비교 및 매칭하도록 구성될 수 있다. 제1 및 제2 복수의 피처가 매칭하면, 3D 맵 데이터 융합 플랫폼은 피처의 제1 및 제2 맵을 병합함으로써 진행될 수 있으며, 여기서 상기 병합은 기본 위성 맵(116)와 정렬하여 수행되어 융합 3D 맵(208)을 형성한다. 융합 3D 맵(208)은 이후에 RVRN(118)과 병합되어 협력적인 3D 맵을 생성할 수 있다. 제1 및 제2 복수의 피처가 일치하지 않으면, 3D 맵 데이터 융합 플랫폼(114)은 피처의 제1 및 제2 맵을 대응하는 RVRN(118)과 더 별도로 비교하고 병합하여 협력적인 3D 맵을 생성할 수 있다.
본 개시에서, "인스턴스화(instantiation)"라는 용어는 하나 이상의 클라우드 서버 컴퓨터(106)의 인스턴스 또는 클라이언트 관리 모듈(202)과 같은 그의 프로그램을 생성하기 위해 하나 이상의 클라우드 서버 컴퓨터(106)와 같은 서버의 속성(예를 들어, 메모리, 컴퓨팅 파워, 네트워크, 운영 체제 등)을 가상화하는 프로세스를 의미한다.
도 3은 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 시스템(300)의 실시 예의 개략도를 도시한다. 도 3의 일부 엘리먼트는 도 1 내지 2의 엘리먼트와 유사할 수 있고, 따라서 이들을 나타내기 위해 동일하거나 유사한 참조 번호가 사용될 수 있다.
도 3에서, 시스템(300)은 데이터(104)를 하나 이상의 서버 컴퓨터(106)로 보내는 클라이언트 장치(102)(예를 들어, 클라이언트 장치 1)를 포함한다. 클라이언트 장치(102)는 센서(304) 및 트랜시버(306)를 포함하는 추적 유닛(302)을 포함한다. 센서(304)는 실제 세계로부터 적어도 시각적 데이터를 얻고 클라이언트 장치(102)의 포즈(112)를 판정/추적하도록 적응된 컴퓨팅 하드웨어, 소프트웨어 및/또는 펌웨어로서 구현될 수 있다. 일부 실시 예에서, 이미지 데이터를 캡처하기 위해, 센서(304)는 RGB 카메라, 컬러 카메라, 그레이 스케일 카메라, 적외선 카메라, CCD(charged couple device), CMOS 장치, 깊이 카메라(예를 들어, LIDAR) 또는 이들의 조합 중 하나 이상에 포함된 하나 이상의 광학 센서를 포함한다. 클라이언트 장치(102)의 포즈를 판정하기 위해, 센서(304)는 관성 내비게이션 시스템(INS) 알고리즘을 통해 클라이언트 장치(102)의 포즈를 내부적으로 판정하는 데 사용될 수 있는 하나 이상의 관성 측정 장치(IMU), 가속도계 및 자이로스코프를 더 포함한다.
트랜시버(306)는 장치가 안테나로부터 무선 라디오파를 수신하고 데이터를 안테나로 다시 전송할 수 있도록 구성된 컴퓨팅 하드웨어 및 소프트웨어로서 구현될 수 있다. 일부 실시 예에서, mmW 트랜시버(306)가 사용될 수 있으며, 이는 안테나로부터 mmW파 신호를 수신하고 데이터를 안테나로 다시 전송하도록 구성될 수 있다. 트랜시버(306)는 예를 들어 양방향 통신 트랜시버(306)일 수 있다.
추적 유닛(302)은 IMU, 가속도계 및 자이로스코프의 기능을 센티미터 미만 또는 밀리미터 미만의 위치 및 방향 추적을 가능하게 할 수 있는 트랜시버(306)에 의해 제공되는 위치 추적 및 mmW 기반 안테나에 의해 제공되는 정확한 추적, 저 지연 및 높은 QOS 기능과 결합하여 구현될 수 있다. 이것은 장치(102)의 실시간 위치 및 방향을 추적할 때 정확도를 증가시킬 수 있다. 대안적인 실시 예에서, 센서(304) 및 트랜시버(306)는 단일 추적 모듈 장치에서 함께 결합될 수 있다. 클라이언트 장치(102)의 적어도 하나의 프로세서는 클라이언트 장치(102)의 추적 동안 센서 데이터의 확률적 불확실성을 설명하기 위해 칼만 필터 또는 확장 칼만 필터와 같은 알고리즘을 사용할 수 있다. 다른 실시 예에서, 적어도 하나의 프로세서는 예를 들어, 프로세스의 각 단계에서 오류를 추정하기보다는 SLAM 프로세스를 통해 일정하고 일관된 오류를 유지함으로써 클라이언트 장치(102)의 추적 동안 지터 감소 알고리즘을 추가로 실행할 수 있다.
포즈(112) 및 이미지 데이터(110)를 포함하는 데이터(104)는 데이터(104)에 대해 하나 이상의 연산을 수행하기 위해 3D 맵 데이터 융합 플랫폼(114)으로 전송될 수 있다. 일부 실시 예에서, 도 2를 참조하여, 동작 중 적어도 일부는 요구시 생성되는 클라이언트 관리 모듈(202)의 단일 전용 인스턴스에 의해 수행된다.
3D 맵 데이터 융합 플랫폼(114)은 대응하는 API를 통해 영구 가상 세계 시스템(120)에 또는 서로 통신할 수 있는 하나 이상의 특정 기능 전용의 복수의 모듈을 포함한다. 본 명세서에서, "모듈"은 특정 기능을 수행하기 위한 전용 컴퓨터 회로, 소프트웨어 애플리케이션, 펌웨어, 프로세서에서 작동하는 일련의 컴퓨터 명령/소프트웨어 또는 프로세서 자체(예를 들어, ASIC)를 가리킬 수 있다. 3D 맵 데이터 융합 플랫폼(114)의 일부 모듈은 기본 위성 맵(308), 새로운 피처 추출 모듈(312), 피처 포즈 추론 모듈(314), 새로운 맵 생성 모듈(316) 및 맵 비교 및 병합 모듈(318); 및 융합 3D 맵(320) 및 협력적인 3D 맵(322)와 같은 기타 모듈과 같은 컴퓨팅 프로세스(예를 들어, 명령, 프로그램 실행, 작업, 스레드, 절차 등)를 실행하는 복수의 모듈을 구비하는 SLAM 파이프 라인(310)을 포함한다. 구현되는 프로세스에 따라, 모듈은 때때로 절차를 순차적으로 또는 병렬로 구현할 수 있으며, 추가 처리에 사용될 수 있는 서로로부터의 피드백을 받을 수 있다.
이미지 데이터(110)는 SLAM 파이프 라인(310)의 조정된 구현 동안 클라이언트 장치(102)의 하나 이상의 이미징 장치에 의해 캡처된다. 일부 실시 예에서, SLAM 파이프 라인(310)의 조정된 구현은 3D 맵 데이터 융합 플랫폼(114)에 의해 그리고 클라이언트 장치(102)의 메모리에 저장되고 그의 적어도 하나의 프로세서에 의해 실행되는 SLAM 스캐닝 및 내비게이션 모듈(334)을 통해 클라이언트 장치(102)에 의해 적어도 부분적으로 수행된다. 일부 실시 예에서, 이미지 데이터(110)는 클라이언트 장치(102)의 적어도 하나의 프로세서에 의해 실행되는 SLAM 스캐닝 및 내비게이션 모듈(334)의 컴퓨터 명령을 통해 전처리될 수 있다. 예를 들어, 적어도 하나의 프로세서는 서버(106)로 전송되기 전에 캡처된 이미지 데이터(110)에 기초하여 추상화된 이미지 데이터를 생성할 수 있다. 다른 예들에서, 클라이언트 장치(102)가 웨어러블 장치(예를 들어, 헤드 장착 디스플레이)인 실시 예에서, 클라이언트 장치(102)의 SLAM 스캐닝 및 내비게이션 모듈(334)은 클라이언트 장치(102)를 착용할 때 사용자의 신체 또는 머리의 움직임을 번역하는데 사용될 수 있으며, 이는 SLAM이 수행되기 위해 필요할 수 있는 정보이다.
SLAM 파이프 라인(310)의 새로운 피처 추출 모듈(312)은 이미지 데이터(110)가 포함된 프레임으로부터 클라이언트 장치를 둘러싼 환경에 대한 시각적 및 구조적 정보를 추출함으로써 이미지 데이터(110)로부터 피처를 추출하도록 구성될 수 있다. 예를 들어, 새로운 피처 추출 모듈(312)은 예를 들어 클라이언트 장치(102)의 SLAM 스캐닝 및 내비게이션 모듈(334)로부터 수신된 전처리된 센서 데이터를 분석하는 것에 기초하여 환경의 지오메트리 구조 및/또는 외관을 판정할 수 있다. 피처의 판정 또는 추출은 코너 및 얼룩(blob) 검출, Harris 검출, Harris-Laplace 검출, Shi-Tomasi, SIFT(Scale-Invariant Feature Transform), SURF(Speeded up Robust Features), FAST(Feature From Accelerated Segment Test), BRIEF(Binary Robust Independent Elementary Features), ORB 피처 검출 알고리즘 또는 이들의 조합과 같은 다수의 알고리즘을 통해 수행될 수 있다. 일부 실시 예에서, 새로운 피처 추출 모듈(312)은 피처 추적 및 매칭 프로세스를 추가로 수행할 수 있다. 피처 추적은 인접 프레임에서 피처 간의 대응 관계를 찾는 프로세스이다. 예를 들어, 피처 추적은 두 프레임 사이에 작은 움직임 변화가 발생할 때 유용할 수 있다. 피처 매칭은 피처를 개별적으로 추출하여 다수의 프레임에 걸쳐 그것들을 매칭시키는 프로세스로, 이는 피처 모양이 현저하게 변경될 때 유용할 수 있다. 일부 실시 예에서, 새로운 피처 추출 모듈(312)은 RANSAC 방법 및/또는 매칭 등식 기술을 통하는 것과 같은 임의의 적절한 기술을 통해 이상치 식별 및 억제를 추가로 수행할 수 있다.
그 후, SLAM 파이프 라인(310)의 피처 포즈 추론 모듈(314)은 클라이언트 장치(102)의 주어진 포즈에 대해 추출된 피처의 포즈를 추론할 수 있다. 일부 예들에서, 이 계산은 Harris Corner 검출, Canny Edge 검출, 이미지와 알려진 피처의 상호 상관, 색상 클러스터링에 의한 영역 찾기, 그라디언트 집계에 의한 경계 찾기와 같은 방법을 사용하여 수행될 수 있다. 피처의 위치 데이터와 다른 지오메트리 데이터를 비교하여, 각 피처의 포즈를 판정할 수 있다. 이어서, SLAM 파이프 라인(310)의 새로운 맵 생성 모듈(316)은 대응하는 포즈를 포함하는 새로운 피처를 포함하는 맵을 생성할 수 있다. 일부 경우에, 맵은 현저한 수의 피처를 포함하지 않을 수 있으며, 이는 충분한 수의 피처에 도달할 때까지 SLAM 파이프 라인(310)이 계속될 것을 요구할 수 있다. 새로운 맵 생성 모듈(316) 동안, SLAM 파이프 라인(310)은 맵 비교 및 병합 모듈(318)을 통해 수행될 수 있는 RVRN(118)에 기초하여 포함된 것들과 새로운 맵의 피처를 동시에 비교 및 매칭할 수 있다. 따라서, 복수의 가상 복제본으로 구성되는 RVRN(118)은 이들 실시 예에서 대응하는 객체의 복수의 피처를 포함하는 상세한 3D 맵으로서 간주될 수 있다. RVRN(118)이 매핑된 피처를 포함하지 않거나 매핑된 피처를 부분적으로만 포함하는 경우, 맵 비교 및 병합 모듈(318)은 새로 생성된 맵의 피처를 기본 위성 맵(308)에 대해 RVRN(118)과 병합하여 융합 3D 맵(320)을 생성할 수 있다.
일부 실시 예에서, 제2 이상의 클라이언트 장치는 동시에 또는 비동기적으로 서버(106)에 데이터(104)를 제공할 수 있다. 이러한 실시 예에서, 이미지 데이터(110)는 SLAM 파이프 라인(310)의 조정된 구현 동안 제2 클라이언트 장치의 하나 이상의 이미징 장치에 의해 캡처된다. 제2 좌표 공간의 SLAM 프로세스가 제2 클라이언트 장치에 의해 캡처된 데이터(104)로 시작되도록 상술한 바와 유사한 프로세스가 구현될 수 있다. 제2 좌표 공간의 충분한 피처가 매핑되면, SLAM 파이프 라인(310)은 피처 매칭 알고리즘을 통해 매핑된 제2 복수의 피처를 융합 3D 맵(320)와 비교하도록 진행한다. 융합 3D 맵(320)이 새로 매핑된 피처를 포함하지 않는 경우, 제2 맵이 생성될 때까지 SLAM 파이프 라인(310)은 SLAM 프로세스를 계속 진행할 수 있으며, 그 후 이는 협력적인 3D 맵 데이터 융합 플랫폼(114)에 의해 융합 3D 맵(320)과 병합되어 협력적인 3D 맵(322)이 생성된다.
3D 맵 데이터 융합 플랫폼(114)은 대응하는 API를 통해 통신할 수 있는 영구 가상 세계 시스템(120)과 협력적인 3D 맵(322)을 공유하도록 진행할 수 있다. 따라서, 협력적인 3D 맵(322)은 RVRN(118)의 형태로 영구 가상 세계 시스템(120)의 일부로서 포함된다. 영구 가상 세계 시스템(120)은 애플리케이션(326) 및 순수 가상 객체(328)(예를 들어, RVRN(118)과 달리 실제 세계에 존재하지 않는 가상 객체로서, 따라서 실제 세계에 대응물이 없음)와 같은 다른 가상 객체(324)를 더 포함할 수 있다.
일부 실시 예에서, 사용자는 적어도 하나의 서버 컴퓨터(106)에 연결된 클라이언트 장치(102)를 통해 영구 가상 세계 시스템(120)의 하나 이상의 가상 객체(324)를 선택하고 가상 객체(324)의 정렬을 위한 참조로서 영구 가상 세계 시스템(120)과 공유된 협력적인 3D 맵(322)을 사용하여 하나 이상의 위치의 위에 선택된 가상 객체(324)를 오버레이할 수 있다. 예를 들어, 사용자는 협력적으로 생성된 3D 화면에 순수 가상 객체(328) 또는 애플리케이션(326)을 오버레이할 수 있고, 클라이언트 장치(102)의 메모리에 저장된 AR/VR 모듈(330)을 통해 증강 현실(AR) 또는 가상 현실(VR)에서 오버레이된 객체를 볼 수 있다.
일부 실시 예에서, 생성된 협력적인 3D 맵(322)은 3D 맵 데이터 융합 플랫폼(114)에 의해 처리된 이미지 데이터에 추가될 수 있는 사용자별 자격 정보를 더 포함하며, 여기서 자격이 있는 사용자 만이 위치의 이미지 데이터를 보는 데 액세스할 수 있다. 예를 들어, 일부 제한된 실내 영역은 해당 영역을 볼 수 있는 클리어런스 레벨을 가진 특정 사람에게만 표시될 수 있으므로, "일반" 사용자는 해당 영역을 볼 수 없다.
일부 실시 예에서, 애플리케이션(326)은 하나 이상의 기존 애플리케이션, 분산 애플리케이션 또는 탈중앙화 애플리케이션일 수 있다. 기존 애플리케이션은 일반적으로 기존 클라이언트-서버 모델을 기반으로 하며 정적 인프라의 전용 서버에서 실행된다. 분산 애플리케이션은 본 개시물의 클라우드 서버와 같은 클라우드 컴퓨팅 플랫폼에 주로 저장되는 애플리케이션이며 동일한 네트워크에서 동시에 다수의 시스템 및 장치에서 실행되거나, 블록체인 또는 분산 원장 기반 분산 데이터베이스에서 실행될 수 있다. 탈중앙화 애플리케이션은 주로 블록체인 또는 분산 원장 기반 분산 데이터베이스와 같은 탈중앙화 인프라에서 실행된다. 상기 애플리케이션(326)과의 상호 작용 메카닉은 컴퓨터 스크립트 및 컴퓨터 프로그램에 포함된 컴퓨터 코드를 통해 정의되고, 애플리케이션(326), 블록체인 또는 분산 원장 기반 분산 데이터베이스에서 이용 가능한 스마트 계약, 또는 이들의 조합을 통해 활성화된다. 상호 작용은 인터렉티브 게임과 같은 애플리케이션의 형태로 또는 게임과 같은 상호 작용 메카닉을 통해 사용자가 경험할 수 있다.
일부 실시 예에서, 서버(106)는 자체 컴퓨팅 기능 및 자율 동작을 제공하기 위해 논리, 가상 데이터 및 모델을 영구 가상 세계 시스템의 가상 객체 중 적어도 일부에 추가하도록 추가로 구성될 수 있다. 모델은 예를 들어, 3D 모델, 동적 모델, 지오메트리 모델, 기계 학습 모델 또는 이들의 조합 중 하나 이상을 포함할 수 있다. 따라서, 본 개시는 내비게이션 목적을 위해 판정된 좌표 공간에서 구조의 지오메트리 및 시각적 특성과는 별개로 다른 고급 피처를 포함할 수 있지만, 또한 상기 구조(예를 들어, 가상 객체(324)의 형태로)와의 상호 작용뿐만 아니라 구조 중 적어도 일부 사이의 통신을 가능하게 할 수 있는 영구 가상 세계 시스템(120)과 협력적인 SLAM 3D 매핑 프로세스를 결합하는 방법을 가능하게 한다. 예를 들어, 차량이 영구 가상 세계 시스템(120)에 포함된 협력적으로 매핑된 도로를 이동할 수 있으면서, 동시에 차량의 가상 복제본은 예를 들어 사고 중 교통 속도를 중지 또는 조정하거나 교통 체증 중에 가장 효율적인 경로에서 차량을 추천/조작하기 위한 자율적 행동을 가능하게하는 로직, 가상 데이터 및 모델을 포함하기 때문에, 본 개시의 영구 가상 세계 시스템(120)과 공유되는 협력적인 3D 맵은 효율적인 자율 주행 차량 교통 관리를 위해 사용될 수 있다. 다른 예들에서, 본 개시의 영구 가상 세계 시스템(120)과 공유되는 협력적인 3D 맵은 제조 작업, 유틸리티, 오염 규제 등의 관리를 위해 사용될 수 있다.
본 명세서에서 "자체 관리 기능"이라고도 하는 "자체 컴퓨팅 기능"은 여기서 예를 들어 분산 컴퓨팅 리소스를 관리하고 자신의 환경 변화에 적응하는 등의 작업을 자율적으로 수행하기 위해 인공 지능 알고리즘을 적용하는 소프트웨어 엔티티(예를 들어, 영구 가상 세계 시스템(120)의 가상 복제본 또는 RVRN(118))의 기능을 가리킨다. 자체 관리 규칙 및 조건은 블록체인 또는 분산 원장 기술에서 실행되는 스마트 계약의 사용을 통해 추가로 관리되어 규칙 및 조건을 분산되고 투명한 방식으로 추가적으로 체계화할 수 있다. 따라서, 각 가상 복제본은 영구 가상 세계 시스템(120)에 반영된 실제 세계의 조건에 따라 필요한 자원을 할당하고, 명령을 자율적으로 전송 및 실행하고, 각 상황에서 요구하는 이벤트를 생성함으로써 자율적으로 행동할 수 있다. 이러한 유형의 동작을 달성하려면 가상 복제본을 모델링하는 동안 인공 지능 알고리즘으로 가상 복제본을 훈련해야할 수 있다.
도 4는 일 실시 예에 따른, 2개 이상의 클라이언트 장치에 의한 SLAM 스캐닝 및 서버로의 데이터 흐름의 개략도를 도시한다.
도 4에서, 사용자(402)는 도 3에 도시된 바와 같이, 웨어러블 장치(404)에서 구현된 SLAM 스캐닝 및 내비게이션 모듈(334) 및 서버 컴퓨터(106)에서 구현된 SLAM 파이프라인(310)에 의해 구현된 조정된 SLAM 프로세스와 같은 SLAM 프로세스를 통해 제1 좌표 공간(408)으로부터 제1 이미지 데이터 세트(406)를 캡처하는 제1 클라이언트 장치(예를 들어, 웨어러블 장치(404))를 착용한다. 웨어러블 장치(404)는 또한 제1 클라이언트 포즈 데이터(410) 및 제1 클라이언트 장치 개인 ID 코드(412)를 적어도 하나의 서버 컴퓨터(106)로 전송할 수 있다. 유사하게, 제2 클라이언트 장치(예를 들어, 드론(414))는 제2 좌표 공간(418)의 제2 이미지 데이터 세트(416)를 캡처하고, 대응하는 제2 클라이언트 장치 포즈 데이터(420) 및 개인 ID 코드(422)와 함께 제2 이미지 데이터 세트(416)를 적어도 하나의 서버 컴퓨터(106)로 전송한다. 클라이언트 장치들과 적어도 하나의 서버 컴퓨터(106) 사이의 통신은 mmW 안테나(예를 들어, 5G 안테나 통신 시스템에 사용됨)와 같은 하나 이상의 안테나(424)를 통해 발생할 수 있다. 개인 ID 코드(412 및 422)는 예를 들어 QR 코드, URL, IP 주소, MAC 주소, 암호화 해시, 범용 고유 식별자 또는 조직 고유 식별자일 수 있다. 각 클라이언트 장치에 의해 매핑된 전체 영역의 3D 좌표에는 ID 코드(412, 422)가 첨부된다.
제1 단계에서, 3D 맵 데이터 융합 플랫폼(114)은 예를 들어 웨어러블 장치(404)로부터 데이터를 수신하고 맵 비교 및 병합 모듈(318)을 통해 영구 가상 세계 시스템(120)에서 이용 가능한 RVRN(118)과 데이터를 비교하는 것을 진행한다. 일부 실시 예에서, 3D 맵 데이터 융합 플랫폼(114)은 도 3을 참조하여 기술된 바와 같이, 대응하는 모듈(312-316)을 통해 새로운 피처 추출(예를 들어, 제1 이미지 데이터 세트(406)으로부터 추출된 제1 복수의 피처로부터), 피처 포즈 추론 및 새로운 맵 생성을 수행한다. 비교를 위해 충분한 데이터를 사용할 수 있고 비교 결과 사용 가능한 RVRN(118)이 제1 복수의 피처를 포함하지 않거나 완전히 포함하지 않는 경우, 3D 맵 데이터 융합 플랫폼(114)은 SLAM 프로세스를 계속하고 클라이언트 식별 제1 맵을 생성하도록 진행하며, 이는 제1 클라이언트 장치 개인 ID 코드(412)를 포함하는 SLAM 매핑된 제1 좌표 공간(408)을 참조한다. 클라이언트 식별 제1 맵(426)은 영구 가상 세계 시스템(120)의 RVRN(118)의 기존 데이터와 추가로 비교되고 결합되어, 클라이언트 식별 영역을 포함하는 융합 3D 맵(320)을 형성할 수 있다.
드론(414)에 의해 전송된 데이터는 또한 3D 맵 데이터 융합 플랫폼(114)에 의해 수신될 수 있고, 도 3을 참조하여 설명된 바와 같이 대응하는 모듈(312-316)을 통해 피처 추출, 피처 포즈 추론 및 새로운 맵 생성을 거칠 수 있다. 비교를 위해 충분한 데이터를 사용할 수 있고 비교 결과 사용 가능한 RVRN(118)이 제1 복수의 피처를 포함하지 않거나 완전히 포함하지 않는 경우, 3D 맵 데이터 융합 플랫폼은 SLAM 프로세스를 계속하기 위해 114로 진행하고 제2 클라이언트 장치 개인 ID 코드(422)를 포함하는 SLAM 매핑된 제2 좌표 공간(418)을 참조하는 클라이언트 식별 제2 맵(428)을 생성한다. 클라이언트 식별 제2 맵(428)은 맵 비교 및 병합 모듈(318)에 의해 융합 3D 맵(320)과 비교되고, 필요한 경우 결합되어, 영구 가상 세계 시스템(120)에 공유되는 협력적인 3D 맵을 형성한다.
일부 실시 예에서, 클라이언트 식별 맵 영역 기여는 분산 원장에 추가로 저장된다. 또 다른 실시 예에서, 클라이언트 식별 맵 영역 기여는 클라이언트 장치에 의한 맵 영역 기여와 관련하여 보상을 제공하는 것을 포함하는 보상 시스템에서 사용될 수 있다. 예를 들어, 각 피처 점의 포즈 데이터와 함께 좌표 및 해당 좌표 내의 피처 점은 블록체인을 형성하기 위해 암호화를 사용하여 연결되고 보호되는 레코드 목록이 늘어나는 원장 또는 블록에 저장될 수 있다. 이러한 블록체인은 데이터 수정에 저항하도록 설계될 수 있으며 보상 시스템을 지원하기 위해 각 클라이언트 장치에 의해 매핑된 영역을 기록할 수 있는 개방형 분산 원장 역할을 할 수 있다. 각 블록은 이전 블록, 타임스탬프, 트랜잭션 데이터 및 클라이언트 장치에 의해 매핑된 영역과 관련된 기타 데이터에 대한 링크로서 해시 포인터를 포함할 수 있다. 예를 들어, 제1 클라이언트 장치가 제2 클라이언트 장치의 두 배의 영역을 매핑한 경우, 보상 시스템은 제1 클라이언트 장치에 대해 두 배의 보상(예를 들어, 암호 화폐, 할인 쿠폰 등)을 계산할 수 있다. 이러한 트랜잭션은 검증가능하고 영구적인 방식으로 분산 원장에 추가로 저장될 수 있다. 이러한 보상 시스템의 규칙은 분산 원장에 저장되고 구현되는 스마트 계약에 의해 관리될 수 있다.
도 5는 일 실시 예에 따른 RVRN의 구성 요소를 보여주는 다이어그램을 도시한다. 도 5의 일부 엘리먼트는 도 1 내지 4의 유사하거나 동일한 엘리먼트를 지칭할 수 있고, 따라서 동일한 참조 번호를 사용할 수 있다.
도 5에 도시된 바와 같이, 다른 장치(504) 및 사용자 장치(506)를 포함하는 실제 세계(502)의 엘리먼트는 데이터 스트림(508)을 영구 가상 세계 시스템에 제공한다. 이러한 데이터 스트림(508)은 다른 장치(504) 또는 사용자 장치의 성능에 따라 단방향 또는 양방향일 수 있다. 본 명세서에서 "사용자 장치"라는 용어는 특히 모바일 장치, 개인용 컴퓨터, 게임 콘솔, 미디어 센터 및 헤드 장착 디스플레이와 같은 애플리케이션과 상호 작용하기 위해 인간 사용자가 사용할 수 있는 장치를 가리킬 수 있다. 본 개시에서, 다른 장치(504)는 감시 카메라, 차량, 신호등, 건물, 거리, 기차 트랙, 가전제품, 로봇, 드론 등과 같은 사용자 장치(506)를 제외한 네트워크에 데이터를 연결하고 공유할 수 있는 기술 기반 시스템을 의미한다.
다른 장치(504)에 의해 전송된 데이터 스트림(508)은 하나 이상의 광학 센서, 온도 센서, 근접 센서, 관성 센서(예를 들어, 관성 측정 장치, 가속도계, 자이로스코프 및 자력계), 적외선 센서, 오염 센서(예를 들어, 가스 센서), 압력 센서, 광 센서, 초음파 센서, 연기 센서, 터치 센서, 색채 센서, 습도 센서, 물 센서, 전기 센서 또는 이들의 조합과 같은 다른 장치(504)에 설치된 센서에 의해 획득될 수 있다. 예를 들어, 데이터 스트림(508)은 피처 데이터를 가상 복제본(510)에 통합하기 전에 추가 처리를 위해 3D 맵 데이터 융합 플랫폼으로 전송될 수 있는 이미지 데이터 및 포즈 데이터를 포함할 수 있다. 사용자 장치(506)의 데이터 스트림(508)은 센서 데이터와 별개인 사용자 장치(506)를 통한 애플리케이션과의 상호 작용으로부터 발생하는 사용자 입력 데이터를 포함할 수 있다.
실제 세계(502)로부터 데이터를 지속적으로 캡처하는 센서 메커니즘을 가진 복수의 다른 장치(504) 및 사용자 장치(506)를 제공함으로써, 가상 세계 및 동기화된 가상 복제본(510) 각각은 실제 세계(502)의 조건을 미러링하는 실시간 멀티 소스 데이터로 업데이트가 유지된다. 멀티 소스 데이터는 특히 3D 이미지 데이터, 3D 지오메트리, 3D 엔티티, 3D 감각 데이터, 3D 동적 객체, 비디오 데이터, 오디오 데이터, 우선순위 데이터, 화학 성분, 폐기물 생산 데이터, 텍스트 데이터, 시간 데이터, 위치 데이터, 방향 데이터, 속도 데이터, 온도 데이터, 습도 데이터, 오염 데이터, 조명 데이터, 볼륨 데이터, 유량 데이터, 색채 데이터, 전력 소비 데이터, 대역폭 데이터, 대용량 데이터 등 중 하나 이상을 포함하는 각 실제 세계의 엘리먼트의 캡처 가능한 데이터를 포함한다.
영구 가상 세계 시스템에서 가상 복제본(510)과의 상호 작용은 각 가상 복제본(510)의 데이터 저장소(512)에 연결된 퍼블리싱/구독 서비스를 사용하여 데이터 교환을 통해 이루어진다. 데이터 유형은 주기적 및 비주기적, 동기 및 비동기 데이터를 포함할 수 있다. 각각의 가상 복제본(510)은 데이터가 실제 세계 대응 물에 의해 또는 마이크로서비스(도시되지 않음)에 의해 업데이트될 수 있는 데이터 저장소(512)를 유지한다. 영구 가상 세계 시스템의 데이터는 특정 가상 복제본(510)에 직접 연관되거나 익명 데이터로서 처리될 수 있으며, 이는 관련 가상 복제본의 다수의 스트리밍 소스의 집합을 포함할 수 있다. 예를 들어, 특정 자동차 모델의 모든 단위로부터의 데이터를 처리하고 집계하여 예측 유지 보수 서비스에 사용할 수 있도록 데이터를 스트리밍할 수 있다.
마이크로서비스는 독립적으로 개발, 배포 및 유지 관리할 수 있는 개별 서비스를 의미하며, 각 서비스는 개별 작업을 수행하고 API를 통해 다른 서비스와 통신하도록 구성된다. 각 마이크로 서비스는 가상 복제본(510)의 특정 속성 값을 수정하기 위해 가상 복제본 모델 및 환경과의 관계를 사용하여 가상 복제본(510)의 데이터 저장소(512)에 있는 데이터를 업데이트할 수 있다. 마이크로서비스는 복수의 엔진과 같은 영구 가상 세계 시스템의 특정 핵심 서비스를 사용할 수 있거나, 또는 외부 플랫폼에 연결될 수 있다.
데이터 스트림(508)은 커넥터(514)를 통해 데이터 저장소(512)에 저장될 수 있다. 커넥터(514)는 데이터 스트림(508)의 데이터를 읽고 데이터 저장소(512)에 기록하는데 사용되는 소프트웨어, 하드웨어 및/또는 펌웨어를 포함할 수 있다. 커넥터(514)는 데이터 저장소(512)에 연결하고 다른 장치(504) 및 사용자 장치(506)로부터의 데이터 스트림(508)을 가상 복제본(510)에 공급하는 것을 돕는 퍼블리싱/구독 API(application programming interface)를 사용할 수 있다. 다른 장치(504)의 데이터 스트림(508)은 커넥터(514)를 통해 사이버 물리 시스템(516)에 추가로 공급되는 반면, 사용자 장치(506)의 데이터 스트림(508)은 커넥터(514)를 통해 사용자(506)의 가상 아바타(518)를 공급한다. 시스템(500)은 또한 기계 학습 알고리즘을 사용하여 인간 또는 인간과 유사한 행동으로 자동화 에이전트로서 응답하도록 구성된 소프트웨어, 하드웨어 및/또는 펌웨어를 포함할 수 있는 봇(520)의 구현을 포함한다. 인간 아바타(518)는 인간 사용자의 신체적 특성을 표시하도록 구성될 수 있거나, 상이한 시각적 측면 및 특성으로 구성될 수 있다.
본 개시에서, 한 쌍의 가상-실제 트윈 또는 트윈-페어는 사이버-물리적 시스템(516)으로 간주될 수 있으며, 이는 시스템의 사이버 및 물리적 부분 모두에 의해 그 행동이 정의되는 물리적 프로세스와의 적분 연산이다. 따라서 가상 복제본(510)은 사이버 물리 시스템(516)의 사이버 부분이다. 가상 복제본(510)은 물리적 부분을 인공 지능 및 시뮬레이션과 연결하여 객체의 기능과 성능을 향상시킬 수 있는 실제 트윈의 확장으로 간주될 수 있다. 가상 복제본(510)은 일부 실시 예에서 물리적 구성 요소 및 프로세스의 일부를 대체할 수 있다. 예를 들어, 센서가 실제 대응물에서 실패하는 경우 실제 트윈에 대한 감지 입력은 가상 세계에서 가상 트윈의 상호 작용에 의해 제공된다. 다른 예에서, 실제 트윈에서 배터리가 부족하면 가상 세계에서 실제 트윈에 대한 연산의 일부를 수행할 수 있다.
가상 복제본(510)은 또한 영구 가상 세계 시스템에서 현실을 복제하는 데 사용될 수 있는 현실의 양태의 임의의 그래픽, 수학적 또는 논리적 표현을 나타내는 모델(522)을 포함할 수 있다. 일부 실시 예에서, 적합한 모델(522)은 3D 모델(524), 지오메트리 모델(526), 동적 모델(528), 및 기계 학습 모델(530) 중 하나 이상을 포함한다. 본 명세서에서는 4개의 모델(522)만이 개시되지만, 당업자에 의해 시스템이 제시된 것보다 더 적거나 더 많은 모델을 구현하도록 적응될 수 있다는 것이 이해될 수 있다.
3D 모델(524)은 지오메트리 모델(526)과 함께 텍스쳐, 색상, 음영, 반사, 충돌 효과 등과 같은 가상 복제본(510)의 각 지오메트리 구조에 포함된 데이터를 보여준다. 3D 모델(524)은 가상 복제본(510), 및 애플리케이션, 순수 가상 복제본, 가상 봇, 광고 등과 같은 영구 가상 세계 시스템의 다른 가상 엘리먼트를 시각적으로 표현하는 데 사용되는 3D 데이터 구조를 포함한다. 3D 데이터 구조는 예를 들어, 하나 이상의 옥트리, 쿼드 트리, BSP 트리, 희소 복셀 옥트리, 3D 어레이, kD 트리, 포인트 클라우드, 와이어 프레임, 경계 표현(B-Rep), 구성 솔리드 지오메트리 트리(CSG 트리), 빈 트리, 및 육각형 구조를 포함할 수 있다. 3D 데이터 구조는 영구 가상 세계 시스템에서 가상 객체의 각 지오메트리 데이터를 정확하고 효율적으로 나타내는 기능을 한다. 3D 데이터 구조의 올바른 선택은 데이터의 출처, 렌더링하는 동안 추구하는 지오메트리 모양의 정밀도, 렌더링이 실시간으로 수행되는지 또는 미리 렌더링되는지 여부, 렌더링이 클라우드 서버, 사용자 장치, 포그 장치 또는 이들의 조합을 통해 수행되는지 여부, 영구 가상 세계 시스템에 대해 어떤 특정 애플리케이션이 사용되는지, 예를 들어 다른 유형의 애플리케이션보다 의료 또는 과학 애플리케이션에 더 높은 수준의 정의가 필요할 수 있는지, 서버 및 사용자 장치의 메모리 용량 및 그에 따른 원하는 메모리 소비; 및 기타에 따라 달라질 수 있다.
지오메트리 모델(526)은 실제 세계 엘리먼트에 기초하여 가상 복제본(510)의 형상을 정의하는 수학적 모델을 포함하고 3D 모델(524)에 의해 보완될 수 있다.
동적 모델(528)은 시간에 따른 가상 세계에서 실제 세계 객체의 행동을 설명하는 수학적 모델을 나타내고, 정의된 시퀀스에서 발생하는 상태의 세트를 포함할 수 있으며, 연속(예를 들어, 대수 또는 미분 방정식) 및 이산(예를 들어, 상태 머신 또는 확률 모델) 동적 모델을 포함할 수 있다.
기계 학습 모델(530)은 학습할 훈련 데이터로 사용된 실제 또는 시뮬레이션 데이터를 기반으로 하는 기계 학습 알고리즘에 의해 일반적으로 생성된 실제 객체 및 프로세스의 수학적 표현이다. 이 모델은 가상 트윈을 통해 실제 트윈의 운영 및/또는 성능을 최적화하는 데 사용할 수 있는 인공 지능 기술의 구현을 가능하게할 수 있다. 기계 학습 모델은 실제 트윈의 동작을 시뮬레이션하기 위해 실제 트윈의 동작에 대해 가상 복제본(510)을 가르치는 것을 허용하는 기계 학습 알고리즘을 사용할 수 있다.
일부 실시 예에서, 가상 복제본(510)에서 사용되는 모델은 특정 시나리오 연산에 필요한 세부 레벨(LOD)을 고려한다. LOD는 가상 복제본(510)이 뷰어로부터 멀어짐에 따라 또는 객체 중요도, 관점-상대적 속도, 뷰어 분류 또는 위치와 같은 다른 메트릭에 따라 모델(522) 표현의 복잡성을 감소시키는 것을 포함한다. LOD는 일반적으로 게임 엔진에서 실시간 렌더링을 최적화하기 위해 게임 엔진에서 사용되는 피처이고, 사용자의 시점이 객체에 더 가까운 경우에만 더 자세한 모델을 사용한다. LOD 관리는, 다른 물리적 모델이 낮은 충실도에서 높은 충실도 모델까지 가상 복제본에 연관될 수 있기 때문에, 그래픽 파이프 라인 사용(일반적으로 정점 변환)에 대한 워크로드를 줄이거나 물리적 시뮬레이션을 향상시킴으로써 렌더링 프로세스와 같은 컴퓨팅 프로세스의 효율성을 높이고, 케이스 및 상황에 따라 상이한 시뮬레이션이 수행될 수 있게 하면, LOD 관리는, 상이한 3D 모델(524) 또는 동적 모델(528)이 낮은 충실도에서 높은 충실도 모델까지 가상 복제본(510)에 연관될 수 있기 때문에, 그래픽 파이프 라인 사용(일반적으로 정점 변환)에 대한 워크로드를 줄이거나 물리적 시뮬레이션을 향상시켜 케이스 및 상황에 따라 상이한 시뮬레이션이 사용되도록 렌더링 프로세스와 같은 컴퓨팅 프로세스의 효율성을 높인다. 일반적으로 LOD 관리는 프레임율을 개선하고 메모리 및 컴퓨팅 요구를 줄일 수 있다.
복수의 연결된 가상 복제본(510)은 RVRN(118)을 형성한다. 각각의 가상 복제본(510)은 또한 서로 간의 소셜 연결(532), 즉 서로 간의 상호 작용을 디스플레이할 수 있다.
일부 실시 예에서, 가상 복제본(510)은 SLAM 또는 파생 매핑 기반 데이터와 같은 3D 세계 및 건물 데이터; 3D 지오메트리 데이터; 3D 포인트 클라우드 데이터; 또는 디지털 현실 애플리케이션을 위한 3D 구조를 모델링하는 역할을 할 수 있는 실제 구조적 속성을 나타내는 지리 정보 시스템 데이터; 중 하나 이상을 포함한다.
일부 실시 예에서, 각각의 가상 복제본(510)은 현재의 지리적 위치 기술과 함께 사용하기에 적합한 기준 좌표계를 사용하여 지리적 위치가 지정될 수 있다. 예를 들어, 가상 복제본은 GPS에서 사용하는 현재 참조 좌표계인 WGS84와 같은 세계 측지 시스템 표준을 사용할 수 있다.
도 6은 일 실시 예에 따른 병합 현실 시스템에서 사용되는 RVRN을 생성하는 데 사용되는 플랫폼 및 인터페이스를 설명하는 시스템(600)의 다이어그램을 도시한다. 점선 내에 위치한 엘리먼트는 가상 복제본 및 RVRN(118)이 상주하는 영구 가상 세계 시스템(120)을 나타낸다.
도 6에 도시된 바와 같이, RVRN(118)은 복수의 외부 플랫폼(602) 또는 영구 가상 세계 시스템(120)에 포함된 엔진 서비스(604)에 연결될 수 있다. 복수의 외부 플랫폼은 예를 들어 사물 인터넷(IoT) 플랫폼, 기계 학습 플랫폼(ML), 빅 데이터 플랫폼 및 시뮬레이션 플랫폼을 포함할 수 있고, 이는 모델을 제공 및 조작하고 데이터를 소비하거나 가상 복제본에 퍼블리싱하기 위해 API(606)를 통해 영구 가상 세계 시스템(120)에 연결할 수 있다.
IoT 플랫폼은 다른 장치 및 사용자 장치의 센서로부터 수신된 다중 소스 입력 데이터를 관리할 수 있는 소프트웨어, 하드웨어 및/또는 펌웨어를 의미한다. ML 플랫폼은 RVRN(118)에 인공 지능 애플리케이션을 위한 기계 학습 모델 및 알고리즘을 사용할 수 있는 기능을 제공하는 소프트웨어, 하드웨어 및/또는 펌웨어를 의미한다. 빅 데이터 플랫폼은 조직이 RVRN(118)과 관련된 빅 데이터를 개발, 배포, 운영 및 관리할 수 있도록 하는 소프트웨어, 하드웨어 및/또는 펌웨어를 의미한다. 시뮬레이션 플랫폼은 실제 세계 엔티티의 실제 동작을 가상으로 재현하기 위해 RVRN(118) 및 그것들의 데이터 및 모델을 사용할 수 있는 소프트웨어, 하드웨어 및/또는 펌웨어를 의미한다.
영구 가상 세계 시스템(120)에 포함된 엔진 서비스(604)는 예를 들어 특히 인공 지능 엔진, 시뮬레이션 엔진, 3D 엔진 및 햅틱 엔진을 포함할 수 있다. 인공 지능 엔진은 인공 지능 애플리케이션을 위한 기계 학습 모델 및 알고리즘의 관리 및 응용을 가능하게 하는 소프트웨어, 하드웨어 및/또는 펌웨어를 가리킨다. 시뮬레이션 엔진은 실제 세계 엔티티의 실제 동작을 가상으로 재현하기 위해 가상 복제본과 그의 데이터 및 모델을 사용할 수 있는 소프트웨어, 하드웨어 및/또는 펌웨어를 가리킨다. 3D 엔진은 가상 복제본의 3D 그래픽 생성 및 처리에 사용될 수 있는 소프트웨어, 하드웨어 및/또는 펌웨어를 가리킨다. 햅틱 엔진은 사용자에게 터치 기반 상호 작용을 제공하기 위해 애플리케이션 및 가상 복제본에 햅틱 피처를 구현할 수 있는 소프트웨어, 하드웨어 및/또는 펌웨어를 가리킨다. 영구 가상 세계 시스템(120)은 또한 영구 가상 세계 시스템(120)에서 그리고 영구 가상 세계 시스템(120)과 병합 현실(608) 사이에서 실제 및 가상 공간 데이터의 최적화된 교환 및 관리를 위해 구성된 공간 데이터 스트리밍 플랫폼에 연결된다.
엔진 서비스(604) 중 일부(예를 들어, 3D 엔진 및 햅틱 엔진)는 사용자 장치에서 적절한 디지털 현실 인터페이스(610)를 통해 병합 현실(608)에 연결될 수 있으며, 가상현실 또는 증강 현실 중 임의의 것에서 병합 현실에 액세스할 수 있다. 병합 현실(610)은, 실제 엘리먼트가 현실의 가상 복제물에 연결된 AI 및 시뮬레이션을 포함하고, 특정 지리적 위치 또는 현실의 실제 엘리먼트에 고정되고, 영구 가상 객체에 의해 오버랩 및 증강되는 확장된 현실을 사용자에게 제공한다. 사용자는 자신의 아바타를 통해 이러한 병합 현실(608)과 제한없이 상호 작용할 수 있다.
일부 실시 예에서, 영구 가상 세계 시스템(120)의 기존 RVRN(118)에 대한 다수의 상세한 3D 맵을 비교, 매칭 및 결합하기 위해 협력적인 매핑 데이터가 3D 맵 데이터 융합 플랫폼(114)에 의해 획득되고 처리될 수 있다.
RVRN(118)은 영구 가상 세계 시스템(120)의 필수 부분이며 모든 실제 세계 엘리먼트가 완전히 가상이고 가상으로 향상될 수 있는(예를 들어, 실제 세계 엘리먼트는 가질 수 없는 피처를 가상 복제에 기능을 추가함) 가상 복제 현실(612)의 구현을 가능하게 한다. 본 개시에서, 가상현실이 모든 엘리먼트가 가상인 세계의 몰입형 실현을 나타낼 수 있는 반면, 가상 복제 현실(612)은 실제 세계 객체에 기초한 맥락이 있는 정확한 지리적 위치, 및 가상 복제본 사이의 상호작용 및 연결을 고려한다는 점에서, 가상 복제 현실(612)은 가상현실의 전형적인 개념과 다르며, 이는 데이터 및 모델 입력을 통해 계속해서 업데이트되고(또는 컴퓨팅 리소스와 조건이 허용하면 주기적으로 또는 간헐적으로 업데이트되고) 복수의 플랫폼 및/또는 엔진을 통해 조작된다. 따라서, 가상 복제 현실(612)은 영구 가상 세계 시스템 내에서 세계의 실제 가상 복제를 의미하며, 여기서 영구 가상 세계 시스템은 데이터, 모델, 상호 작용, 연결 및 인프라를 제공하여 각각의 가상 복제본의 자가 컴퓨팅 기능과 자율적 행동을 가능하게 한다.
또 다른 실시 예에서, 시스템(600)은 증강 현실 및 가상현실을 위한 적어도 하나의 서버 개별 층의 메모리에 저장할 수 있다. 개별 층은 병합 현실(608)을 통해 증강 또는 가상현실 중 어느 하나의 가상 복제 현실(612)에 액세스하는 것을 가능하게 할 수 있고, 하나 또는 다른 유형의 현실에 액세스할 때마다 적어도 하나의 서버 컴퓨터에 연결된 사용자 장치를 통해 활성화될 수 있다. 각 층은 각 층에 특정할 수 있는 실제 및 가상 복제본의 증강을 포함할 수 있다. 예를 들어, 증강 현실에서 병합 현실(608)에 액세스할 때, 사용자는 현재 병합된 현실 장면에 위치한 실제 객체, 해당 가상 복제본을 통해 각 실제 객체의 현재 증강, 그리고 증강 현실에서만 표시되도록 구성된 순수 가상 객체를 볼 수 있다. 다른 예에서, 가상현실에서 병합 현실(608)을 볼 때, 사용자는 가상현실 뷰에 대해서만 구성된 증강을 포함하는 가상현실에 대해 구성된 가상 복제 현실(612)의 버전만 볼 수 있다. 그러나 가상현실에 있을 때, 사용자는 원래 증강 현실로 향하는 증강 및 가상 객체를 보기 위해 증강 현실 층을 활성화할 수 있다. 유사하게, 증강 현실에 있을 때, 사용자는 증강 현실에서 증강을 볼 수 있는 동시에 가상현실로 완전히 이동하기 위해 가상현실 층을 활성화할 수 있다.
추가 실시 예에서, RVRN(118)은 클라이언트 식별 맵 영역 기여(616)를 저장할 수 있는 분산 원장 플랫폼(614)에 연결된다. 일부 실시 예에서, 클라이언트 식별 맵 영역 기여(616)는 클라이언트 장치에 의한 맵 영역 기여와 관련되는 보상을 제공하는 보상 시스템에서 사용될 수 있고, 이는 그것들의 맵 기여에 따라 사용자에게 해당 보상(예를 들어, 암호 화폐(620))을 제공하기 위해 대응하는 스마트 계약(618)에 의해 관리될 수 있다.
도 7은 일 실시 예에 따른 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 방법(700)의 블록도를 도시한다.
본 개시의 방법(700)은 적어도 하나의 프로세서(예를 들어, 도 1-4 및 6과 관련하여 설명된 바와 같은 3D 맵 데이터 융합 플랫폼(114))를 포함하는 서버 컴퓨터의 메모리에 3D 맵 데이터 융합 플랫폼을 제공함으로써 단계(702 및 704)에서 시작한다. 단계(706)에서, 방법(700)은 3D 맵 데이터 융합 플랫폼에서 세계 위치의 기본 위성 맵을 제공함으로써 계속된다. 일부 실시 예에서, 기본 위성 맵은(예를 들어, 복수의 대응하는 API를 통해) 3D 맵 데이터 융합 플랫폼에 연결되는 하나 이상의 공공 또는 사설 글로벌, 지역 또는 로컬 맵의 위성 이미지를 사용하는 위성 매핑 기술에 의해 획득된다.
단계(708)에서, 방법은 기본 위성 맵(예를 들어, 가능한 경우 기본 위성 맵의 좌표에 대해 정렬됨)을 참조하여 실제 세계 장소의 RVRN(예를 들어, 도 1-6의 RVRN(118))을 3D 맵 데이터 융합 플랫폼에 퍼블리싱함으로써 계속된다. 프로세스 이후, 단계(710)에서 방법(700)은 센서(예를 들어, IMU, 가속도계 및 자이로스코프)에 의해 획득된 센서 데이터로부터 위치 및 방향 판정 및 추적 기술 및 알고리즘을 통해, 외부 센서(예를 들어, 카메라)의 사용 또는 이들의 조합을 통해 수행될 수 있는 제1 클라이언트 장치의 포즈를 획득함으로써 계속된다. 이어서, 방법은 제1 좌표 공간의 SLAM 프로세스를 수행함으로써 단계(712)에서 진행하고, SLAM 프로세스는 제1 클라이언트 장치의 적어도 하나의 이미징 장치로부터의 이미지 데이터 및 제1 클라이언트 장치의 포즈를 사용하여 제1 좌표 공간 내의 제1 복수의 피처의 포즈를 판정하도록 한다. 일부 실시 예에서, 이미지 데이터는 SLAM 파이프 라인의 조정된 구현 동안 클라이언트 장치의 하나 이상의 이미징 장치에 의해 캡처되며, 이는 3D 맵 데이터 융합 플랫폼에 의해 그리고 클라이언트 장치의 메모리에 저장되고 그의 적어도 하나의 프로세서에 의해 실행되는 SLAM 스캐닝 및 내비게이션 모듈을 통해 클라이언트 장치에 의해 적어도 부분적으로 수행된다. 일부 실시 예에서, 이미지 데이터는 클라이언트 장치의 적어도 하나의 프로세서에 의해 실행되는 SLAM 스캐닝 및 내비게이션 모듈의 컴퓨터 명령을 통해 전처리될 수 있다.
방법(700)은 제1 좌표 공간 내에 제1 복수의 피처를 포함하는 새로운 맵을 생성함으로써 계속된다. 도 7에 도시된 예에서, 이것은 새 데이터와 RVRN 데이터를 비교하기 위해 이미지 데이터로부터 충분한 피처가 추출되었는지를 확인함으로써 단계(714)에서 기능을 수행하는 것을 포함한다. 충분한 피처가 캡처되지 않은 경우, 방법은 SLAM 프로세스를 계속함으로써 단계(712)에서 계속된다. 일단 제1 좌표 공간의 충분한 피처가 매핑되면, 매핑된 제1 복수의 피처가 RVRN에 포함되거나 부분적으로 포함되는지 확인하기 위해 방법(700)은 3D 맵 데이터 융합 플랫폼에 의한 피처 매칭 알고리즘을 통해 매핑된 제1 복수의 피처를 퍼블리싱된 RVRN과 비교하여 단계(716)에서 계속된다. 매핑된 제1 복수의 피처가 RVRN에 포함되지 않거나 부분적으로만 포함되는 경우, SLAM 프로세스는 제1 새로운 맵이 생성될 때까지 단계(718)에서 계속될 수 있다. 그 후, 단계(720)에서 볼 수 있는 바와 같이, 융합 3D 맵을 생성하기 위해 제1 새로운 맵이 RVRN과 병합될 수 있다. 그러나 퍼블리싱된 상세 RVRN이 새로 매핑된 피처를 포함하는 경우, 방법(700)은 종료(722)에서 종료될 수 있다.
도 8은 일 실시 예에 따라 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 방법(700)과 조합하여 사용될 수 있는 방법(800)의 블록도를 도시한다.
방법(800)은 제2 클라이언트 장치의 위치 및 방향을 획득함으로써 단계(802 및 804)에서 시작한다. 그런 다음, 단계(806)에서, 방법은 제2 좌표 공간의 SLAM 프로세스를 수행함으로써 계속되며, 이는 제2 클라이언트 장치의 적어도 하나의 이미징 장치로부터의 이미지 데이터 및 제2 클라이언트 장치의 포즈를 이용하여 제2 좌표 공간 내의 제2 복수의 피처의 포즈를 판정한다. 단계(808)에서, 방법(800)은 융합 3D 맵 데이터와 새 데이터를 비교하기 위해 이미지 데이터로부터 충분한 피처가 추출되었는지 확인함으로써 진행된다.
충분한 피처가 캡처되지 않은 경우, 방법은 SLAM 프로세스를 계속하여 단계(806)에서 진행한다. 제1 좌표 공간의 충분한 피처가 매핑되면, 방법(800)은 제2 복수의 피처를 포함하는 제2 새로운 맵을 생성함으로써 계속된다. 도 8에 도시된 예에서, 이는, 융합 3D 맵에 매핑된 제2 복수의 피처가 포함되어 있는지, 또는 일부가 포함되는지 확인하기 위해, 3D 맵 데이터 융합 플랫폼에 의한 피처 매칭 알고리즘을 통해 매핑된 제2 복수의 피처를 융합 3D 맵과 비교함으로써 단계(810)의 기능을 수행하는 것을 포함한다. 매핑된 제1 복수의 피처가 융합 3D 맵에 포함되지 않거나 부분적으로만 포함되는 경우, SLAM 프로세스는 제2 새로운 맵이 생성될 때까지 단계(812)에서 계속될 수 있다. 그런 다음, 제2 새로운 맵은 융합 3D 맵과 병합되어, 단계(814)에 도시된 바와 같이 협력적인 3D 맵을 생성할 수 있다. 그러나 융합 3D 맵이 새로 매핑된 피처를 포함하는 경우, 방법(800)은 종료(816)에서 종료될 수 있다.
또 다른 실시 예에서, 방법은 또한 협력적인 3D 맵을 영구 가상 세계 시스템과 공유하는 단계를 포함하며, 협력적인 3D 맵의 복수의 피처는 가상 객체의 일부로서 영구 가상 세계 시스템과 공유된다.
도 9는 이미지 데이터가 제1 및 제2 클라이언트 장치 모두로부터 동시에 수신되어 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 방법(900)의 블록도를 도시한다.
방법(900)은 단계(902)에서 시작하여 도 7의 단계(702-708)의 동작을 수행할 수 있다. 그런 다음, 단계(904)에서, 방법(900)은 제1 및 제2 클라이언트 장치의 포즈를 획득함으로써 진행될 수 있다. 단계(906)에서, 방법은 제1 및 제2 클라이언트 장치의 적어도 하나의 이미징 장치로부터 이미지 데이터를 캡처함으로써 제1 및 제2 좌표 공간의 SLAM 프로세스를 동시에 수행함으로써 진행될 수 있으며, 여기서 상기 SLAM 프로세스는 제1 및 제2 좌표 공간 내의 제1 및 제2 복수의 피처의 포즈를 판정하기 위해 제1 및 제2 클라이언트 장치의 포즈를 이용함으로써 수행된다. 그런 다음, 단계(908)에서, 방법(900)은 충분한 피처가 추출되었는지 여부를 확인함으로써 진행되어, 단계(910)에서 피처들이 비교되고 매칭될 수 있도록 한다. 제1 및 제2 복수의 피처가 매칭되면, 방법(900)은 피처의 제1 및 제2 맵을 병합함으로써 진행되며, 여기서 상기 병합은 기본 맵과 정렬하여 수행된다. 그런 다음, 방법(900)은 결합된 맵을 RVRN과 비교 및 병합하여 협력적인 3D 맵을 생성함으로써 진행된다.
제1 및 제2 복수의 피처가 매칭하지 않는 경우, 방법(900)은 피처의 제1 및 제2 맵을 RVRN과 개별적으로 비교 및 병합하여 협력적인 3D 맵을 생성함으로써 단계(914)에서 진행할 수 있다. 단계(912 또는 914) 후에, 방법(900)은 종료(916)에서 종료될 수 있다.
도 10은 일 실시 예에 따라 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 방법의 추가 단계를 보여주는 방법(1000)의 블록도를 도시한다.
방법(1000)은 제1 또는 제2 클라이언트 장치로부터 식별자 코드를 획득함으로써 단계(1002)에서 시작할 수 있다. 개인 ID 코드는 예를 들어 QR 코드, URL, IP 주소, MAC 주소, 암호화 해시, 범용 고유 식별자 또는 조직 고유 식별자일 수 있다. ID 코드는 각 클라이언트 장치에 의해 매핑된 전체 영역의 3D 좌표에 첨부된다. 그런 다음, 단계(1004)에서, 방법은 식별자 코드를 각각 제1 또는 제2 맵에 연관시킴으로써 계속될 수 있다. 마지막으로, 방법(1000)은 식별된 제1 또는 제2 맵을 분산 원장에서 구현된 스마트 계약에 저장함으로써 단계(1006)에서 종료될 수 있다. 또 다른 실시 예에서, 클라이언트 식별 맵 영역 기여는 클라이언트 장치에 의한 맵 영역 기여와 관련하여 보상을 제공하는 것을 포함하는 보상 시스템에서 사용될 수 있다.
도 11은 일 실시 예에 따라 업데이트 가능한 협력적인 3D 맵 데이터 융합 플랫폼 및 그의 영구 가상 세계 시스템을 가능하게 하는 방법의 추가 단계를 도시하는 블록도를 도시한다.
방법(1100)은 제1 또는 제2 클라이언트 장치를 통해 적어도 하나의 서버 컴퓨터의 메모리에 저장된 하나 이상의 가상 객체를 선택함으로써 단계(1102)에서 시작할 수 있다. 그런 다음, 단계(1104)에서, 방법(1100)은 가상 객체의 정렬을 위한 참조로서 영구 가상 세계 시스템과 공유된 협력적인 3D 맵을 사용함으로써 하나 이상의 위치의 위에 선택된 가상 객체를 오버레이함으로써 종료될 수 있다.
하나 이상의 컴퓨터로 하여금 본 명세서에 설명된 방법 중 임의의 것을 수행하게 하도록 구성된 명령을 저장한 컴퓨터 판독 가능 매체가 또한 설명된다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장할 수 있는 임의의 방법 또는 기술로 구현된 휘발성 또는 비휘발성, 착탈 가능 또는 착탈 불가능한 매체를 포함할 수 있다. 일반적으로, 여기에 설명된 컴퓨팅 장치의 기능은 C, C ++, COBOL, JAVA™, PHP, Perl, Python, Ruby, HTML, CSS, JavaScript, VBScript, ASPX, C#과 같은 Microsoft .NET™ 언어 등과 같은 프로그래밍 언어로 작성될 수 있는 하드웨어 또는 소프트웨어 명령어로 구현된 컴퓨팅 로직으로 구현될 수 있다. 컴퓨팅 로직은 실행 가능한 프로그램으로 컴파일되거나 인터프리트 프로그래밍 언어로 작성될 수 있다. 일반적으로, 여기에 설명된 기능은 더 큰 처리 능력을 제공하기 위해 복제되거나, 다른 모듈과 병합되거나, 하위 모듈로 분할될 수 있는 논리 모듈로서 구현될 수 있다. 컴퓨팅 로직은 임의의 유형의 컴퓨터 판독 가능 매체(예를 들어, 메모리 또는 저장 매체와 같은 비일시적 매체) 또는 컴퓨터 저장 장치에 저장될 수 있고 하나 이상의 범용 또는 전용 프로세서에 저장되고 그에 의해 실행되어, 여기에 설명된 기능을 제공하도록 구성된 전용 컴퓨팅 장치를 생성할 수 있다.
특정 실시 예가 첨부된 도면에서 설명되고 도시되었지만, 당업자에게는 다양한 다른 변형이 발생할 수 있기 때문에, 그러한 실시 예는 단지 예시일 뿐이고 광범위한 개시를 제한하지 않으며, 본 개시는 도시되고 설명된 특정 구성 및 배열로 제한되지 않는다는 것을 이해해야 한다. 따라서 설명은 제한적인 것이 아니라 예시적인 것으로 간주되어야 한다.
배타적 우선권 또는 특권이 주장되는 본 발명의 실시 예는 하기와 같이 정의된다.

Claims (20)

  1. 적어도 하나의 프로세서를 구비하는 하나 이상의 서버 컴퓨터의 메모리에 3D 맵 데이터 융합 플랫폼을 제공하는 단계;
    상기 3D 맵 데이터 융합 플랫폼에서 세계 위치의 기본 위성 맵을 제공하는 단계;
    상기 기본 위성 맵을 참조하여 실시간 가상 복제 네트워크(RVRN)를 상기 3D 맵 데이터 융합 플랫폼에서 퍼블리싱하는 단계;
    제1 클라이언트 장치의 포즈를 획득하는 단계;
    제1 좌표 공간의 동시 위치측정 및 매핑(SLAM) 프로세스를 수행하는 단계로서, 상기 SLAM 프로세스는 상기 제1 클라이언트 장치의 적어도 하나의 이미징 장치로부터의 이미지 데이터, 상기 제1 클라이언트 장치의 상기 포즈 및 상기 기본 위성 맵의 데이터를 사용하여 상기 제1 좌표 공간 내에서 제1 복수의 피처의 포즈를 판정하는 상기 단계;
    상기 제1 좌표 공간 내에서 상기 제1 복수의 피처의 3차원 좌표를 포함하는 제1 새로운 맵을 생성하는 단계; 및
    상기 3D 맵 데이터 융합 플랫폼에 의해, 상기 제1 좌표 공간 내의 상기 제1 복수의 피처의 상기 3차원 좌표를 포함하는 상기 제1 새로운 맵을 퍼블리싱된 상기 RVRN과 병합하여 융합 3D 맵을 생성하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1 항에 있어서, 상기 제1 새로운 맵을 생성하는 단계는 상기 3D 맵 데이터 융합 플랫폼에 의한 하나 이상의 피처 매칭 알고리즘을 통해 상기 제1 복수의 피처를 상기 퍼블리싱된 RVRN과 비교하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제2 항에 있어서, 상기 비교하는 단계는 상기 제1 좌표 공간의 피처의 임계 개수에 도달하면 발생하는 것을 특징으로 하는 방법.
  4. 제1 항에 있어서,
    제2 클라이언트 장치의 포즈를 획득하는 단계;
    제2 좌표 공간의 SLAM 프로세스를 시작하는 단계로서, 상기 제2 좌표 공간의 상기 SLAM 프로세스는 상기 제2 클라이언트 장치의 적어도 하나의 이미징 장치의 이미지 데이터, 상기 제2 클라이언트 장치의 상기 포즈 및 상기 융합 3D 맵의 데이터를 사용하여 상기 제2 좌표 공간 내의 제2 복수의 피처의 포즈를 판정하는 상기 단계;
    상기 제2 복수의 피처를 구비하는 제2 새로운 맵을 생성하는 단계; 및
    상기 3D 맵 데이터 융합 플랫폼을 통해 상기 제2 새로운 맵을 상기 융합 3D 맵과 병합하여 협력적인 3D 맵을 생성하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  5. 제4 항에 있어서, 가상 복제본, 순수 가상 객체, 애플리케이션 또는 이들의 조합을 구비하는 영구 가상 세계 시스템과 상기 협력적인 3D 맵을 공유하는 단계를 더 포함하고, 새로 매핑된 객체가 상기 영구 가상 세계 시스템에 추가되는 것을 특징으로 하는 방법.
  6. 제4 항에 있어서,
    상기 제1 또는 제2 클라이언트 장치를 통해 하나 이상의 가상 객체를 선택하는 단계; 및
    상기 제1 또는 제2 클라이언트 장치에 의해, 상기 가상 객체의 정렬을 위한 참조로서 상기 영구 가상 세계 시스템과 공유되는 상기 협력적인 3D 맵을 사용하여 하나 이상의 위치의 상부 위에 선택된 상기 가상 객체를 오버레이하는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  7. 제4 항에 있어서,
    상기 제1 또는 제2 클라이언트 장치로부터 식별자 코드를 획득하는 단계;
    상기 식별자 코드를 상기 제1 새로운 맵 또는 제2 새로운 맵과 연관시키는 단계; 및
    분산 원장에 구현된 스마트 계약에 상기 식별자 코드가 연관되는 상기 맵을 저장하는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  8. 제7 항에 있어서, 저장된 상기 맵은 상기 제1 또는 제2 클라이언트 장치에 의한 맵 영역 기여와 관련하여 보상을 제공하는 단계를 구비하는 보상 시스템에서 사용되는 것을 특징으로 하는 방법.
  9. 제1 항에 있어서, 사용자별 자격 정보를 상기 이미지 데이터에 추가하는 단계를 더 포함하고, 자격이 있는 사용자만이 상기 위치의 상기 이미지 데이터를 보는데 액세스할 수 있는 것을 특징으로 하는 방법.
  10. 제1 항에 있어서, 상기 SLAM 프로세스는 상기 제1 클라이언트 장치의 하나 이상의 프로세서 및 상기 하나 이상의 서버 컴퓨터에 의해 부분적으로 수행되는 것을 특징으로 하는 방법.
  11. 업데이트 가능한 3D 공간 맵을 가능하게 하는 시스템으로서,
    3D 맵 데이터 융합 플랫폼을 저장하는 메모리 및 적어도 하나의 프로세서를 구비하는 적어도 하나의 서버 컴퓨터
    를 포함하고,
    상기 적어도 하나의 서버 컴퓨터는:
    상기 3D 맵 데이터 융합 플랫폼에서 세계 위치의 기본 위성 맵을 제공하고;
    상기 기본 위성 맵을 참조하여 실제 세계의 장소의 상세한 실시간 가상 복제 네트워크(RVRN)를 상기 3D 맵 데이터 융합 플랫폼에 퍼블리싱하고;
    제1 클라이언트 장치의 포즈를 획득하고;
    제1 좌표 공간의 동시 위치측정 및 매핑(SLAM) 프로세스로서, 상기 SLAM 프로세스는 상기 제1 좌표 공간 내의 제1 복수의 피처의 포즈를 판정하기 위해 상기 제1 클라이언트 장치의 적어도 하나의 이미징 장치로부터의 이미지 데이터와 상기 제1 클라이언트 장치의 상기 포즈를 사용하는, 상기 프로세스를 시작하고;
    상기 제1 좌표 공간 내의 상기 제1 복수의 피처의 3차원 좌표를 구비하는 제1 새로운 맵을 생성하고; 및
    상기 3D 맵 데이터 융합 플랫폼에 의해, 상기 제1 좌표 공간 내의 상기 제1 복수의 피처의 상기 3차원 좌표를 구비하는 상기 제1 새로운 맵을 퍼블리싱된 상기 RVRN과 병합하여 융합 3D 맵을 생성;
    하도록 구성되는 것을 특징으로 하는 업데이트 가능한 3D 공간 맵을 가능하게 하는 시스템.
  12. 제11 항에 있어서, 상기 제1 새로운 맵을 생성하는 단계는 상기 3D 맵 데이터 융합 플랫폼에 의한 하나 이상의 피처 매칭 알고리즘을 통해 상기 제1 복수의 피처를 상기 퍼블리싱된 RVRN과 비교하는 단계를 포함하는 것을 특징으로 하는 업데이트 가능한 3D 공간 맵을 가능하게 하는 시스템.
  13. 제12 항에 있어서, 상기 비교하는 단계는 상기 제1 좌표 공간의 피처의 임계 개수에 도달하면 발생하는 것을 특징으로 하는 업데이트 가능한 3D 공간 맵을 가능하게 하는 시스템.
  14. 제11 항에 있어서, 상기 적어도 하나의 서버 컴퓨터는:
    제2 좌표 공간의 SLAM 프로세스로서, 상기 제2 좌표 공간의 상기 SLAM 프로세스는 상기 제2 좌표 공간 내의 제2 복수의 피처의 포즈를 판정하기 위해 제2 클라이언트 장치의 적어도 하나의 이미징 장치로부터의 이미지 데이터와 상기 제2 클라이언트 장치의 포즈를 사용하는, 상기 프로세스를 시작하고;
    상기 제2 복수의 피처를 구비하는 제2 새로운 맵을 생성하고; 및
    상기 3D 맵 데이터 융합 플랫폼에 의해, 상기 제2 새로운 맵을 상기 융합 3D 맵과 병합하여 협력적인 3D 맵을 생성;
    하도록 더 구성되는 것을 특징으로 하는 업데이트 가능한 3D 공간 맵을 가능하게 하는 시스템.
  15. 제14 항에 있어서, 상기 협력적인 3D 맵은 가상 복제본, 순수 가상 객체, 애플리케이션 또는 이들의 조합을 포함하는 영구 가상 세계 시스템과 공유되며, 새로 매핑된 객체는 상기 영구 가상 세계 시스템에 추가되는 것을 특징으로 하는 업데이트 가능한 3D 공간 맵을 가능하게 하는 시스템.
  16. 제11 항에 있어서, 상기 적어도 하나의 서버 컴퓨터는:
    상기 제1 클라이언트 장치로부터 식별자 코드를 획득하고;
    상기 식별자 코드를 상기 제1 새로운 맵과 연관시키고; 및
    식별된 상기 제1 새로운 맵을 분산 원장에 구현된 스마트 계약에 저장;
    하도록 더 구성되고,
    저장된 상기 식별된 맵은 상기 제1 클라이언트 장치에 의한 맵 영역 기여와 관련하여 보상을 제공하는 것을 구비하는 보상 시스템에서 사용되는 것을 특징으로 하는 업데이트 가능한 3D 공간 맵을 가능하게 하는 시스템.
  17. 제11 항에 있어서, 상기 제1 클라이언트 장치는 상기 적어도 하나의 서버 컴퓨터의 메모리에 저장된 하나 이상의 가상 객체를 선택하고, 참조로서 상기 융합 3D 맵을 사용하여 하나 이상의 위치의 위에 선택된 상기 하나 이상의 가상 객체를 오버레이하도록 구성되는 것을 특징으로 하는 업데이트 가능한 3D 공간 맵을 가능하게 하는 시스템.
  18. 하나 이상의 프로세서가 단계를 수행하게 하도록 구성된 컴퓨터 실행 가능 명령어가 저장되는 비일시적 컴퓨터 판독 가능 매체로서, 상기 단계는:
    3D 맵 데이터 융합 플랫폼을 제공하는 단계;
    상기 3D 맵 데이터 융합 플랫폼에서 세계 위치의 기본 위성 맵을 제공하는 단계;
    상기 기본 위성 맵을 참조하여 실시간 가상 복제 네트워크(RVRN)를 상기 3D 맵 데이터 융합 플랫폼에 퍼블리싱하는 단계;
    제1 클라이언트 장치의 포즈를 획득하는 단계;
    제1 좌표 공간의 동시 위치측정 및 매핑(SLAM) 프로세스를 수행하는 단계로서, 상기 SLAM 프로세스는 상기 제1 좌표 공간 내의 제1 복수의 피처의 포즈를 판정하기 위해 상기 제1 클라이언트 장치의 적어도 하나의 이미징 장치로부터의 이미지 데이터와 상기 제1 클라이언트 장치의 상기 포즈, 및 상기 기본 위성 맵의 데이터를 사용하는 상기 프로세스를 수행하는 단계;
    상기 제1 좌표 공간 내의 상기 제1 복수의 피처의 3차원 좌표를 구비하는 제1 새로운 맵을 생성하는 단계; 및
    상기 3D 맵 데이터 융합 플랫폼에 의해, 상기 제1 좌표 공간 내의 상기 제1 복수의 피처의 상기 3차원 좌표를 구비하는 상기 제1 새로운 맵을 퍼블리싱된 상기 RVRN과 병합하여 융합 3D 맵을 생성하는 단계;.
    를 포함하는 것을 특징으로 하는 컴퓨터 실행 가능 명령어가 저장되는 비일시적 컴퓨터 판독 가능 매체.
  19. 제18 항에 있어서, 상기 제1 새로운 맵을 생성하는 단계는 하나 이상의 피처 매칭 알고리즘을 통해 상기 제1 복수의 피처를 상기 퍼블리싱된 RVRN과 비교하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 실행 가능 명령어가 저장되는 비일시적 컴퓨터 판독 가능 매체.
  20. 제19 항에 있어서, 상기 비교하는 단계는 상기 제1 좌표 공간의 피처의 임계 개수에 도달하면 발생하는 것을 특징으로 하는 컴퓨터 실행 가능 명령어가 저장되는 비일시적 컴퓨터 판독 가능 매체.
KR1020200184364A 2019-12-30 2020-12-28 협력적인 3d 맵 데이터 융합 플랫폼 및 그것의 가상 세계 시스템을 구현하는 시스템 및 방법 KR20210086973A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962955216P 2019-12-30 2019-12-30
US62/955,216 2019-12-30

Publications (1)

Publication Number Publication Date
KR20210086973A true KR20210086973A (ko) 2021-07-09

Family

ID=74103882

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200184364A KR20210086973A (ko) 2019-12-30 2020-12-28 협력적인 3d 맵 데이터 융합 플랫폼 및 그것의 가상 세계 시스템을 구현하는 시스템 및 방법

Country Status (5)

Country Link
US (1) US20210199460A1 (ko)
EP (1) EP3846124A1 (ko)
JP (1) JP7193163B2 (ko)
KR (1) KR20210086973A (ko)
CN (1) CN113129439A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102559765B1 (ko) * 2022-07-27 2023-07-26 콩테크 주식회사 오브젝트 관련 앱목록 인터페이스를 제공하는 방법, 이를 수행하는 서비스서버 및 컴퓨터-판독가능 매체
KR102559768B1 (ko) * 2022-07-27 2023-07-26 콩테크 주식회사 오브젝트와 앱 간의 연관도를 이용한 앱목록 인터페이스를 제공하는 방법, 이를 수행하는 서비스서버 및 컴퓨터-판독가능 매체

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11397962B2 (en) * 2017-10-09 2022-07-26 American Express Travel Related Services Company, Inc. Loyalty point distributions using a decentralized loyalty ID
US11355019B2 (en) * 2018-08-24 2022-06-07 AeroCine Ventures, Inc. Motion tracking interface for planning travel path
US11430193B1 (en) * 2021-07-29 2022-08-30 Argyle Inc. Resilient interdependent spatial alignment to improve and maintain spatial alignment between two coordinate systems for augmented reality and other applications
CN113963095B (zh) * 2021-09-01 2022-07-05 泰瑞数创科技(北京)有限公司 基于人工智能的城市三维地图视频流加密方法及系统
US20230177789A1 (en) * 2021-12-06 2023-06-08 Snap Inc. Computer vision tools for creating augmented reality (ar) models
CN114359476A (zh) * 2021-12-10 2022-04-15 浙江建德通用航空研究院 一种用于城市峡谷环境导航的动态3d城市模型构建方法
WO2023150839A1 (en) * 2022-02-14 2023-08-17 Commonwealth Scientific And Industrial Research Organisation Agent data processing
US20230353981A1 (en) * 2022-04-27 2023-11-02 Tmrw Foundation Ip S. À R.L. System and method enabling accurate context-aware location-based services
CN114900545A (zh) * 2022-05-10 2022-08-12 中国电信股份有限公司 增强现实实现方法和系统、云服务器
US20240046564A1 (en) * 2022-08-02 2024-02-08 Niantic, Inc. Simulated Consistency Check for Points of Interest on Three-Dimensional Maps
CN115409941B (zh) * 2022-08-31 2023-05-30 中南大学 一种三维道路场景中三维地物模型融合方法及其系统
CN115937441B (zh) * 2022-11-08 2023-09-05 泰瑞数创科技(北京)股份有限公司 低带宽环境下的三维协同标绘方法及其系统
CN116091710B (zh) * 2023-04-11 2023-05-30 埃洛克航空科技(北京)有限公司 一种基于三维重建的自适应空间切分方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9275282B2 (en) 2012-10-30 2016-03-01 Qualcomm Incorporated Processing and managing multiple maps for an LCI
US10203762B2 (en) * 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
CN105843223B (zh) * 2016-03-23 2018-11-20 东南大学 一种基于空间词袋模型的移动机器人三维建图与避障方法
EP3943888A1 (en) * 2016-08-04 2022-01-26 Reification Inc. Methods for simultaneous localization and mapping (slam) and related apparatus and systems
US11341677B2 (en) 2018-03-01 2022-05-24 Sony Interactive Entertainment Inc. Position estimation apparatus, tracker, position estimation method, and program
US11079897B2 (en) * 2018-05-24 2021-08-03 The Calany Holding S. À R.L. Two-way real-time 3D interactive operations of real-time 3D virtual objects within a real-time 3D virtual world representing the real world
US10915115B2 (en) * 2018-08-02 2021-02-09 Nvidia Corporation Method and apparatus for enabling map updates using a blockchain platform
GB2582266B (en) * 2019-03-05 2022-11-30 Geoslam Ltd Three-dimensional dataset and two-dimensional image localisation
US11354728B2 (en) * 2019-03-24 2022-06-07 We.R Augmented Reality Cloud Ltd. System, device, and method of augmented reality based mapping of a venue and navigation within a venue
AU2020409014A1 (en) * 2019-12-20 2022-08-18 Niantic, Inc. Merging local maps from mapping devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102559765B1 (ko) * 2022-07-27 2023-07-26 콩테크 주식회사 오브젝트 관련 앱목록 인터페이스를 제공하는 방법, 이를 수행하는 서비스서버 및 컴퓨터-판독가능 매체
KR102559768B1 (ko) * 2022-07-27 2023-07-26 콩테크 주식회사 오브젝트와 앱 간의 연관도를 이용한 앱목록 인터페이스를 제공하는 방법, 이를 수행하는 서비스서버 및 컴퓨터-판독가능 매체

Also Published As

Publication number Publication date
EP3846124A1 (en) 2021-07-07
JP7193163B2 (ja) 2022-12-20
US20210199460A1 (en) 2021-07-01
JP2021111385A (ja) 2021-08-02
CN113129439A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
JP7193163B2 (ja) 協調的3dマップデータ融合プラットフォーム及びその仮想世界システムを可能にするシステム及び方法
US11196964B2 (en) Merged reality live event management system and method
US11010921B2 (en) Distributed pose estimation
KR102047031B1 (ko) 딥스테레오: 실세계 이미지로부터 새로운 뷰들을 예측하는 러닝
US11949728B2 (en) System and method for optimizing virtual world computations through an N-tier architecture
US11663685B2 (en) System and method for providing digital reality experiences and decentralized transactions of real estate projects
EP3754469A1 (en) 3d structure engine-based computation platform
CN112102463B (zh) 通过位置虚拟化技术操作3d应用的系统和方法
US11516296B2 (en) Location-based application stream activation
US11546721B2 (en) Location-based application activation
CN114972599A (zh) 一种对场景进行虚拟化的方法
CN116721235A (zh) 利用缓冲的交叉现实系统用于定位精度
JP2022539352A (ja) データセット対応関係によって定義される世界座標フレーム
US11455777B2 (en) System and method for virtually attaching applications to and enabling interactions with dynamic objects